[OpenAFS-devel] AFS_GLOCK in osi_NetSend

Jim Rees rees@umich.edu
Tue, 14 Sep 2004 14:52:24 -0400


I'm trying to understand the use of AFS_GLOCK in osi_NetSend (and friends).
Most calls to osi_NetSend seems to happen with the lock unheld, which
implies that osi_NetSend itself shouldn't be doing anything with the lock.
But the darwin client always checks for the lock and releases it if it's
already held.  The Solaris client never checks for the lock, but then there
is conditional code in rx_packet.c that, for solaris only, releases the lock
in the one place where it otherwise wouldn't have been released.

The OpenBSD client currently checks for the lock, which seems unnecessary
but harmless given that it's currently single-threaded.  Should I remove the
locking code from OBSD/rx_knet.c?