From: Dave Roberts <ldave@dr...> - 2004-08-20 04:36:22
I had been doing some hacking back on SBCL 0.8.10 to add some more
proper UDP support to SB-BSD-SOCKETS. I pulled down 0.8.13.77 the other
day and was looking to add integrate the changes that I had done with
0.8.10 but it looks like there have been quite a few changes in
technique between the two releases. In particular, 0.8.13.77 is a lot
longer and seems to use a separate alien copy buffer for all data in the
SOCKET-RECEIVE call, whereas 0.8.10 used to just pin the data in the
Lisp heap and create an alien pointer into the heap.
I'm assuming that the changes were done to deal with thread support
(pinning heap objects is really problematic when you have multiple
threads that could invoke a GC at any time).
Anyway, does somebody understand this code well enough to walk me
through some of the low-level rationale that drove the changes so I can
make sure I integrate things in a sensible way? Put differently, will
the author of these changes to SB-BSD-SOCKETS please stand up? ;-)
Dave Roberts <ldave@...>
Get latest updates about Open Source Projects, Conferences and News.