Another question on locking...
Robert Watson
rwatson at freebsd.org
Sun Jun 29 17:56:41 PDT 2003
The locking in the -CURRENT tree for the socket stack is currently
incomplete; something we hope greatly to remedy on the way to 5.2-RELEASE.
So currently all this code runs under the Giant lock, which is why it's
safe.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Network Associates Laboratories
On Sun, 29 Jun 2003, George V. Neville-Neil wrote:
> Hi,
>
> Looking at the code in uipc_socket.c and udp_usrreq.c I am a
> bit confused as to how the locking mechanism works between the
> sockets and the protocols. The socket calls all occur under
> Giant, which the protocols do not deal with, and the protocols
> all lock on the inp mutex, which the socket calls do not deal
> with. Furthermore the sblock/sbunlock calls are only use by
> the socket layer. I'm reading udp_input() as it's simpler to
> follow. Have I missed something? What prevents a protocol
> from writing to a socket buffer at the wrong time or the
> socket code from tweaking it at the wrong time? Is this
> handled simply because of the priority of the threads doing
> the work?
>
> Thanks,
> George
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>
More information about the freebsd-net
mailing list