Browse thread
[Caml-list] file close bug?
- skaller
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2004-06-27 (16:21) |
From: | skaller <skaller@u...> |
Subject: | [Caml-list] file close bug? |
The following code has worked for some time: try (* to write Marshalled parse tree out *) let x = open_out_bin pf in Marshal.to_channel x (this_version,sts) []; close_out x with _ -> () (* can't write, don't worry *) Now, I have modified my program to use some specialised hashtable types using address comparisons on part of the keys. My largest test case now fails to terminate (weird!, it worked before with polymorphic comparison ..) but I can kill it with Ctrl-C. What's weird is that if I rerun it, it tries to reload the Marshalled data above, and gets an End_of_file error, indicating the whole file was not written out. However,when I run another program which doesn't get up to the use of the new hashtbles, and so terminates, the whole file *is* being correctly written out (by the same piece of code). This looks like a flushing/closing problem in Ocaml? [Just because the program aborted should not prevent a *closed* file's buffers being written to disk ..] There's been some talk about this in other circumstances? Is this a known problem? -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- 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