<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/11/ba43edee4aa4d5a6cfa721deee8ef65e"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-16T18:21:37"
  subject="Re: [Caml-list] GC and file descriptors"
  prev="2003/11/b493287745c594a95529ed8209a29bb2"
  next="2003/11/19e44cdf8a4116c84b5dae2a15ddbd56"
  prev-in-thread="2003/11/70cd72a7b2227f219c8b692c66b90c53"
  next-in-thread="2003/11/1041b7ee7f6bc3556e3c456996972c46"
  prev-thread="2003/11/1d6c84161cf48d3019d6d8455ef366b7"
  next-thread="2003/11/d2b9839832e65a956bdcb77f959a9628"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b7b5144ae80803da62864d5c58f8efba"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-13T00:51:25"
  subject="[Caml-list] GC and file descriptors">
<msg 
  url="2003/11/82be33b4c38a6ecc9791e7d4685c2c3c"
  from="David Fox &lt;david.fox@l...&gt;"
  author="David Fox"
  date="2003-11-13T01:18:39"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/631039834749c167a3b7d886541558a1"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-13T04:09:18"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/ec1f30cb4393e6b91eb605d2eff84211"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-14T13:42:28"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/36e5db1bbb396e56d99b6cef6d8e9cce"
  from="Christophe Raffalli &lt;Christophe.Raffalli@u...&gt;"
  author="Christophe Raffalli"
  date="2003-11-14T14:56:42"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/a38be990a94d1040e4c89dc168b1a767"
  from="Dmitry Bely &lt;dbely@m...&gt;"
  author="Dmitry Bely"
  date="2003-11-14T20:25:29"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/3db3a9a38fbd3d1184ab2e4c8b94dcc1"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-14T20:49:24"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/02489bb50f9a8ec14ffcd298c9d1d353"
  from="Dmitry Bely &lt;dbely@m...&gt;"
  author="Dmitry Bely"
  date="2003-11-15T01:49:04"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/ee4c88bfca179439d4a5109c61ef2935"
  from="Eric Dahlman &lt;edahlman@a...&gt;"
  author="Eric Dahlman"
  date="2003-11-14T20:55:20"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b7cc46d47b434587bbcf1df443cfff70"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-14T21:22:12"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/489bd6bb052f90989375079e3ea60970"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-14T21:36:57"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/5b5397919678dfc28cc8df6c4d10c2b9"
  from="Max Kirillov &lt;max630@m...&gt;"
  author="Max Kirillov"
  date="2003-11-15T02:33:00"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f554c8bf262b396bc66312d9ac53cda8"
  from="Mike Furr &lt;mike.furr@u...&gt;"
  author="Mike Furr"
  date="2003-11-15T02:49:12"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b493287745c594a95529ed8209a29bb2"
  from="tim@f..."
  author="tim@f..."
  date="2003-11-16T05:22:13"
  subject="[Caml-list] Bugs from ignoring errors from close (was Re: GC and file..) ">
</msg>
</msg>
<msg 
  url="2003/11/debf6e9ed7d5984878e535ea30480920"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-15T02:58:06"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/8be6ea78b578fa8c2341ebc9f2c31fa6"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-17T14:19:29"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1f8e4e58eceb62ce8dab1f73d0ea4930"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-17T19:18:52"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/a49610eb6cb143bfed1a1d2e74b41247"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-14T18:35:27"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b19a3078409434630cc80062bedc8612"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-15T15:17:06"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/9b0244ade12acfa891f53e5e6aacaba5"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-15T15:56:32"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/8e54b37131353301445586d42c53db53"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-15T18:31:52"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/70cd72a7b2227f219c8b692c66b90c53"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-15T20:31:59"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/ba43edee4aa4d5a6cfa721deee8ef65e"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-16T18:21:37"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1041b7ee7f6bc3556e3c456996972c46"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-17T19:16:08"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/61d4387625276e01c033f4a55e71b3ab"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-17T19:26:14"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f54c7ead3b38524945a849ab201fa18c"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T14:50:18"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/417d41af81c0822cf28c19cedfb938e3"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-18T17:51:54"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/dad10f492cd6ac379fbc547aff306762"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-11-18T20:18:01"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/25032c9635ecaf7b8134a04c4fda8221"
  from="Florian Hars &lt;hars@b...&gt;"
  author="Florian Hars"
  date="2003-11-20T07:37:05"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/d708e5671623d9731257696b418a4325"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-17T20:21:22"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/71a9f6b1c9c662f86ec7cd16addcc659"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-17T23:03:21"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/3b5d525e1b8a82b5d9b47af2becf951a"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-18T12:05:20"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/91822d5d4320dfb31e24e305196b9f7b"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T16:20:41"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/7c3899ebb5f7f6ba2df0d72cb54df2df"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T18:10:28"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/dbb9601c40ec7ac824b64fa9e235c4a0"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T18:56:15"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/6fad5fcfc55b6e8cdb865af4a5e2b4f1"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-18T20:02:10"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/6f1bf356c16673cde871ddc46d9abcac"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T21:20:43"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/6a58f222b578d0b0f7cb8561566cec30"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T13:26:36"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/20c07ee429bad45453d88f995a3caeda"
  from="Ville-Pertti Keinonen &lt;will@e...&gt;"
  author="Ville-Pertti Keinonen"
  date="2003-11-19T13:55:20"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/3f1c78ebb7740dc9ad093b0f14406823"
  from="Samuel Lacas &lt;Samuel.Lacas@t...&gt;"
  author="Samuel Lacas"
  date="2003-11-19T14:27:08"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/27a305d4ac2ed8a10be76517de11a07e"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T15:48:12"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/010fc09d1cd4ec0f7efc96e247d27af1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T16:28:47"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/2940548b2e6a38f07c563e5a6059583c"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T18:00:42"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/661c558d464c52c6ab88bb972c1700da"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-18T21:29:03"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/a1c7069d3da76af770d6e27018f316fe"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-18T23:07:33"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/23804d16eeafe036937c41158d0df62f"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T23:22:26"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/bf918f86c037ff4570e06d290158b23e"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:49:38"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/2f531e5e78fe56a90964318c758a3fa2"
  from="Dustin Sallings &lt;dustin@s...&gt;"
  author="Dustin Sallings"
  date="2003-11-19T03:58:03"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/db22f49258f754d0d82c575b9b1774d1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:35:55"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/d99718d682bd4634648b51390ee551c1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:01:41"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/f540af8754e0e4576f7628c9163508ed"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:03:17"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1fc3071570c0aa2125286ffc01a2769a"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T16:37:12"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1a12be5c405add80b63a5724e27cd6a1"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-20T06:15:16"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b83d1a42be5aa47aadca87e4c89caa44"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2003-11-20T07:37:52"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/e5e41df3576833acafd3685c7d7db655"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T16:12:49"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/963b4c0a2618c5cbed608513b6c13808"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-18T16:50:04"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/170ac6b47d277d99b96d66bf01c66159"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T18:26:41"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f41c74c52217a4b52937c238600a66f3"
  from="Xavier Leroy &lt;xavier.leroy@i...&gt;"
  author="Xavier Leroy"
  date="2003-11-18T19:24:41"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/390851363ffd1e4ea5cd2031d9b8e93c"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-18T23:49:19"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/05a80cbff7462f48efb0099be5f115d8"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:37:29"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/3636e64c2b247bc9d13a82568cdc74ec"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T02:26:58"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1f9ba0a60b92c9a020dd376b9293ba89"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T11:44:40"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/faf84db302ab3f23634153343f972968"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T16:29:52"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/370c857e140e18498140b6387a2b7b68"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-20T06:17:59"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/41b7013f566a30eb640361b86fe8d780"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-20T15:14:33"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/4e27bcaec46233d5fc437d5a423da314"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-19T02:37:04"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/10d56652fe8cb3bcfa68a014c741e8d0"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:34:17"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/4a1286aa572b6885ee480b76f52745f6"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T16:44:14"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/eaaec57e33cdcaa005d578a3e63f86c2"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-20T06:06:20"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/04300f605ed957815b39803a76da9c66"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-19T17:01:42"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/508e13618a30beb233bc6635061d850b"
  from="Jim &lt;jim@f...&gt;"
  author="Jim"
  date="2003-11-22T02:42:36"
  subject="[Caml-list] AutoMLI (Was: GC and file descriptors)">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/bb978f3ce98cdac20ca12393eabf4bc8"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:34:26"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/1fb17a6a3a3e2af94885d2f0be2d074c"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-19T02:47:41"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
<msg 
  url="2003/11/1f843d69c3b53aee4f8ffa9b84709d5f"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-18T18:47:18"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/e3b9293ae73acdefb63429375a71b8df"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T01:33:58"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f64182ecc7bbb285e9c25c5b0ca9323b"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-19T02:26:03"
  subject="Design by Contract, was Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/b3d062d976348aa2b2d87a4f7413f239"
  from="Jacques Carette &lt;carette@m...&gt;"
  author="Jacques Carette"
  date="2003-11-19T02:57:19"
  subject="Re: Design by Contract, was Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/8a3362cfd5532b02e247e7621e230419"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:27:51"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/13cb3d8ea002248514f6e558dd2a3e36"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T14:43:16"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
<msg 
  url="2003/11/24eeca7414b913696c8a08cff82b53e9"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-19T16:54:11"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/d875185cbeb45c60bf69b69aefe16537"
  from="Damien Doligez &lt;damien.doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-11-19T17:18:13"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/5605d0ab6ed57e5fb3a748efd37ad66a"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-11-19T21:45:06"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/c17081509d394ca21766e84f62f3f830"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-19T23:10:04"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/788a2c28afa9e9bc3bcf18dd0c33d1ab"
  from="Nicolas Cannasse &lt;warplayer@f...&gt;"
  author="Nicolas Cannasse"
  date="2003-11-20T00:56:51"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/f5b0e699d56b25234213fa5e05a7f3cb"
  from="Benjamin Geer &lt;ben@s...&gt;"
  author="Benjamin Geer"
  date="2003-11-20T09:42:33"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/0c2873b11bfce0b4930b5fb67c57e094"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-11-19T18:03:34"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/db16d06e7da03770e3a7746d4c558b49"
  from="Brian Hurt &lt;bhurt@s...&gt;"
  author="Brian Hurt"
  date="2003-11-18T21:24:05"
  subject="Re: [Caml-list] GC and file descriptors">
<msg 
  url="2003/11/690c4fcd19c29e88b0d6e2472aa032f5"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-11-19T14:01:35"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/db0d9c3e2f8bd31fba3e04524605334f"
  from="John J Lee &lt;jjl@p...&gt;"
  author="John J Lee"
  date="2003-11-17T22:38:11"
  subject="OCaml popularity [was: Re: [Caml-list] GC and file...]">
</msg>
<msg 
  url="2003/11/4e363c2f0874bf81db3c9a6051a5ad48"
  from="Jed Davis &lt;jdev@p...&gt;"
  author="Jed Davis"
  date="2003-11-18T20:45:09"
  subject="[Caml-list] Re: GC and file descriptors">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/11/7de0105b14c8ebdd22c349246625930a"
  from="Nicolas George &lt;nicolas.george@e...&gt;"
  author="Nicolas George"
  date="2003-11-13T01:20:05"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
<msg 
  url="2003/11/f85e65bf7ad498b59e1d3d5df9b95d53"
  from="Mikael Brockman &lt;phubuh@p...&gt;"
  author="Mikael Brockman"
  date="2003-11-13T20:19:02"
  subject="Re: [Caml-list] GC and file descriptors">
</msg>
</msg>
</thread>

<contents>
On 16 Nov 2003, skaller wrote:

&gt; On Sun, 2003-11-16 at 02:56, Ville-Pertti Keinonen wrote:
&gt; &gt; On Sun, Nov 16, 2003 at 01:16:08AM +1100, skaller wrote:
&gt; &gt; 
&gt; &gt; &gt; It is possible to modify the Ocaml collector to make finalisation
&gt; &gt; &gt; orderly, but it is very expensive. It is also possible
&gt; &gt; 
&gt; &gt; Not just expensive, more like something you definitely don't want to
&gt; &gt; even try.  Python tries to have deterministic finalization, but
&gt; &gt; falls back on "normal" garbage collection for containers 
&gt; 
&gt; Funny, but I actually *needed* deterministic finalisation. 
&gt; And the reason was .. I was implementing a Python interpreter
&gt; in Ocaml, and needed to emulate Python's ref counting.
&gt; But I didn't want to actually do any ref counting :-)

You can't fake reference counting with mark-and-sweep.

Here's the problem: reference counting is expensive.  In a scripting 
language this performance hit may not be problem, it may be outweighed by 
other performance limitation.  But every time some C++ programmers bitchs 
about garbage collection being slow, he's almost certainly talking about 
reference counting.

I wish the mainstream would crawl out of the sixties era computer science 
and get at least into the eighties.  The only "mainstream" programming 
language I know of with *excusable* garbage collection is Java.  Of 
course, Java's type system is state of the art- for 1968.  Which convinces 
everyone that strong typing is bad- in much the same way that reference 
counting convinces everyone that garbage collection is slow.  Grr.

&gt; 
&gt; Because of this problem, my own major Python program
&gt; interscript would not run on my interpreter, since
&gt; it relied on orderly finalisation.
&gt; 
&gt; The reason for *that* is that it effectively executed
&gt; commands written by the client, and the specification
&gt; provided for opening and writing to files, but
&gt; not for closing them. Closing files was important
&gt; and had to be correctly timed: for example, closing
&gt; the main document actually generated the table of
&gt; contents (since only at the end are all the contents
&gt; known).

You were abusing finalization.  The fact that it worked (in reference 
counting Python) doesn't mean it was a good idea.  Accidentally having 
dangling references which delay some objects finalization could introduce 
unexpected orderings and "bugs".  A much better way to do this would be to 
have a central command queue.  Every time a new command is created, it 
adds itself to the queue.  Then you just flush the command queue- 
executing the commands in the order they were added.  This is done every 
so often while the program is running and, of course, on program exit.

&gt; 
&gt; Anyhow .. there do exist cases where explicit finalisation
&gt; is difficult. 

IIRC, in the general case it's equivelent to solving the halting problem.

On a more general note, I will agree that having the GC free non-memory
resources raises problems.  I agree (and strongly beleive) that everything
that isn't memory should have some way for the program to free them
without invoking the GC- for example, file descriptors should have a close 
routine.  And I agree that programs *should* use them instead of relying 
on the GC in all but the most intractable cases.

The question is, is it worse to have the GC try to reclaim the resources
than it is to have a guarenteed leak?  Consider the case where close 
return EINTR and doesn't close the file descriptor.  Since the descriptor 
has already leaked- for it to reach this point the program no longer has 
any way to reach the descriptor (if the program did, the object wouldn't 
be being collected).  So what's the difference in this case between the 
collector silently ignoring the error, and the collector not even trying 
to free the resource?

Actually, an idea I've had is to add Java-style "throws" information- 
basically what exceptions a function can throw- to the type information of 
a function.  With type inference, this shouldn't be the headache in Ocaml 
it is in Java.  The advantage here is that you could enlist the type 
system to gaurentee that a destructor doesn't throw any exceptions- i.e. 
the code for a destructor should handle all exceptions it generates.  

-- 
"Usenet is like a herd of performing elephants with diarrhea -- massive,
difficult to redirect, awe-inspiring, entertaining, and a source of
mind-boggling amounts of excrement when you least expect it."
                                - Gene Spafford 
Brian

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

</contents>

</message>

