Browse thread
[Caml-list] Segfault in a native code multi-threaded program
[
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: | -- (:) |
| From: | David Mentre <David.Mentre@i...> |
| Subject: | Re: [Caml-list] Segfault in a native code multi-threaded program |
Brian Rogoff <bpr@best.com> writes: > > > <hint for next ocaml ;)> > > > It would be very nice to be able to rely on Marshal as safely as on [...] > > </hint for next ocaml ;)> > > A more type safe marshaling framework is way up there on my list of > desired enhancements. I think this will be part of the extensional > polymorphism enhancements that you can see now in G'Caml. In my opinion, they are two different kinds of marshaling that one could expect: the safe one and the correct one. Supose that I have : type t = A | B of int | C of float To be safe is just to ensure that if I marshal a B(3), then if I receive a B(2.6) it will raise an exception. In other words, the marshaled data structure should contain enough information to ensure that once unmarshaled, it won't trigger a segfault. That's all. Basically, it means to encode in some way the type constructor of sent data structure (in my example, something like (type t: first: nothing; second: int; third: float)), and to check those constructors at unmarshaling time. The correct encoding is of course to ensure that the A of my program is the same A of the .mli you are using to send to me a data structure. It is of course much more difficult. I have probably missed something on the difficulty of marshaling. I tried to look at the mailing list archive, but did not find out the relevant messages. Any pointer? Best regards, d. -- David.Mentre@inria.fr Opinions expressed here are only mine. ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr