{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/41645"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/41645","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Fixing file descriptor leaks","abstract":"We design, implement and test a tool for eliminating file descriptor (FD) leaks in programs at run-time. Our tool monitors FD allocation and use. When the allocation of a new FD would fail because a process's entire pool of FDs is already in use, our tool \"recycles\" (forcibly closes) an FD. The FD to be recycled is chosen according to three simple rules: 1) do not recycle FDs used within the last second, 2) do not recycle \"persistent\" FDs (FDs allocated at sites that allocate few FDs) and 3) recycle the FD that was least recently used. We tested our tool with nine applications (HTTP/FTP servers, proxies and clients) that make extensive use of FDs. We first simulated massive leaks by disabling all calls to close. Without recycling (and in the presence of leaks), all applications malfunctioned. With FD recycling, applications continued to execute normally despite massive FD leakage. Throughout our tests, our tool has never attempted to close an FD that was still in use.","abstract_html":"We design, implement and test a tool for eliminating file descriptor (FD) leaks in programs at run-time. Our tool monitors FD allocation and use. When the allocation of a new FD would fail because a process&#x27;s entire pool of FDs is already in use, our tool &quot;recycles&quot; (forcibly closes) an FD. The FD to be recycled is chosen according to three simple rules: 1) do not recycle FDs used within the last second, 2) do not recycle &quot;persistent&quot; FDs (FDs allocated at sites that allocate few FDs) and 3) recycle the FD that was least recently used. We tested our tool with nine applications (HTTP/FTP servers, proxies and clients) that make extensive use of FDs. We first simulated massive leaks by disabling all calls to close. Without recycling (and in the presence of leaks), all applications malfunctioned. With FD recycling, applications continued to execute normally despite massive FD leakage. Throughout our tests, our tool has never attempted to close an FD that was still in use.","abstract_has_math":false,"creators":["Dumitran, Octavian-Daniel"],"institution":"Massachusetts Institute of Technology","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.","school":null,"contributors":[],"advisors":["Dorothy Curtis."],"committee_chairs":[],"committee_members":[],"year":2007,"date_issued":"2007","date_published":"2007","updated_at":"2026-07-22T22:21:13Z","subjects":["Electrical Engineering and Computer Science."],"languages":["eng"],"rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"rights_urls":["http://dspace.mit.edu/handle/1721.1/7582"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/1721.1/41645","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Dorothy Curtis."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."]},{"key":"dc:creator","label":"Author","values":["Dumitran, Octavian-Daniel"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2008-05-19T16:04:47Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2008-05-19T16:04:47Z"]},{"key":"dc:date.issued","label":"Date","values":["2007"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Electrical Engineering and Computer Science."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://dspace.mit.edu/handle/1721.1/7582"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/1721.1/41645"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2007.","Includes bibliographical references (p. 89)."]},{"key":"dc:description.abstract","label":"Abstract","values":["We design, implement and test a tool for eliminating file descriptor (FD) leaks in programs at run-time. Our tool monitors FD allocation and use. When the allocation of a new FD would fail because a process's entire pool of FDs is already in use, our tool \"recycles\" (forcibly closes) an FD. The FD to be recycled is chosen according to three simple rules: 1) do not recycle FDs used within the last second, 2) do not recycle \"persistent\" FDs (FDs allocated at sites that allocate few FDs) and 3) recycle the FD that was least recently used. We tested our tool with nine applications (HTTP/FTP servers, proxies and clients) that make extensive use of FDs. We first simulated massive leaks by disabling all calls to close. Without recycling (and in the presence of leaks), all applications malfunctioned. With FD recycling, applications continued to execute normally despite massive FD leakage. Throughout our tests, our tool has never attempted to close an FD that was still in use."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["Fixing file descriptor leaks"]}]}],"canonical_facts":{"dc:contributor.advisor":["Dorothy Curtis."],"dc:contributor.department":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."],"dc:contributor.other":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."],"dc:creator":["Dumitran, Octavian-Daniel"],"dc:date.accessioned":["2008-05-19T16:04:47Z"],"dc:date.available":["2008-05-19T16:04:47Z"],"dc:date.issued":["2007"],"dc:description":["Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2007.","Includes bibliographical references (p. 89)."],"dc:description.abstract":["We design, implement and test a tool for eliminating file descriptor (FD) leaks in programs at run-time. Our tool monitors FD allocation and use. When the allocation of a new FD would fail because a process's entire pool of FDs is already in use, our tool \"recycles\" (forcibly closes) an FD. The FD to be recycled is chosen according to three simple rules: 1) do not recycle FDs used within the last second, 2) do not recycle \"persistent\" FDs (FDs allocated at sites that allocate few FDs) and 3) recycle the FD that was least recently used. We tested our tool with nine applications (HTTP/FTP servers, proxies and clients) that make extensive use of FDs. We first simulated massive leaks by disabling all calls to close. Without recycling (and in the presence of leaks), all applications malfunctioned. With FD recycling, applications continued to execute normally despite massive FD leakage. Throughout our tests, our tool has never attempted to close an FD that was still in use."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["http://hdl.handle.net/1721.1/41645"],"dc:language.iso":["eng"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"dc:rights.uri":["http://dspace.mit.edu/handle/1721.1/7582"],"dc:subject":["Electrical Engineering and Computer Science."],"dc:title":["Fixing file descriptor leaks"],"dc:type":["Thesis"]},"updated_at":"2026-07-22T22:21:13Z"}