Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jun 2004 15:23:12 -0400 (EDT)
From:      Robert Watson <rwatson@freebsd.org>
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/kern kern_descrip.c uipc_socket.c uipc_syscalls.c uipc_usrreq.c src/sys/net raw_cb.c raw_usrreq.c src/sys/netatm atm_socket.c src/sys/netatalk ddp_pcb.c src/sys/netgraph ng_ksocket.c src/sys/netgraph/bluetooth/socket ...
Message-ID:  <Pine.NEB.3.96L.1040614152027.34947D-100000@fledge.watson.org>
In-Reply-To: <20040614190209.GE61448@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 14 Jun 2004, Alfred Perlstein wrote:

> * Robert Watson <rwatson@FreeBSD.org> [040612 13:47] wrote:
> > rwatson     2004-06-12 20:47:32 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >   
> >   - Note that sofree()/sotryfree() will release the socket lock even if
> >     they don't free the socket.
> 
> Please use one of the existing conventions when doing refcount based
> operations, namely either: sorele, soput, sodrop. 
> 
> (from: vrele, vput, fdrop, etc) 

We chose to maintain the existing naming scheme for sockets present in the
code since it's origins in BSD, and consistent with other BSD platforms. 
Otherwise, I generally agree :-).  Given the volume of other changes going
in here, I was reluctant to introduce non-functional changes in order to
ease merging.  Once we have the basic version of locking in place, we will
have the opportunity to revisit this (and a great many other things). 

One thing I should point out, though, is that the reference counting in
sockets isn't a simple reference count, since in addition to so_count,
there's also a flag indicating whether a file descriptor reference is
present, and an un-counted reference from the pcb to the socket, which is
also considered "real".  The various
sofree()/sotryfree()/sorele()/soref()/..  APIs reflect this complexity,
and hence some inconsistency with a more simple API.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Senior Research Scientist, McAfee Research




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040614152027.34947D-100000>