On 02 October 2004 13:04, Tomasz Zielonka wrote: > On Fri, Oct 01, 2004 at 09:34:36PM +0100, Simon Marlow wrote: >> >> Not currently, but I could probably implement the equivalent >> (hGetArrayNonBlocking). > > It is perhaps not closely related, but could we also have > Network.Socket recvFrom / sendTo working on raw buffers? > > I've attached a proposed implementation. It moves most of code to > recvBufFrom and sendBufTo, and changes recvFrom / sendTo to use the > *Buf* functions.
Committed, thanks! > It would be nice if these functions could be used to implement > efficient recvFromArray / sendToArray (without copying), but I don't > know if it's possible to get the pointer from MutableByteArray. Is > there a danger that GC invalidates the pointer? It is possible to get a Ptr from a MutableByteArray, but only if the array was allocated pinned, and only if you make sure it lives across any foreign calls (using touch#). This is how Foreign.alloca works, for example. Cheers, Simon _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users