Hi Eric :-) I want to use soreceive() to avoid copying mbufs into a user buffer. I guess I have to hold the bsdnet_semaphore around soreceive(). But once I got hold of the mbuf chain - is it safe to access / use / release it without holding the semaphore (well, maybe I need to hold it for freeing the chain)? Thanks for saving me time. -- Till