summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2005-08-09 17:19:21 +0000
committerrwatson <rwatson@FreeBSD.org>2005-08-09 17:19:21 +0000
commit693479e03f1711525db4d8009d23e685b7b0b61c (patch)
tree86f0480969f2d3b38dbd9e956dbe8f56db212480 /Makefile
parentff8809a26012612a57067d2c970daad79a900f30 (diff)
downloadFreeBSD-src-693479e03f1711525db4d8009d23e685b7b0b61c.zip
FreeBSD-src-693479e03f1711525db4d8009d23e685b7b0b61c.tar.gz
Add helper function ip_findmoptions(), which accepts an inpcb, and attempts
to atomically return either an existing set of IP multicast options for the PCB, or a newlly allocated set with default values. The inpcb is returned locked. This function may sleep. Call ip_moptions() to acquire a reference to a PCB's socket options, and perform the update of the options while holding the PCB lock. Release the lock before returning. Remove garbage collection of multicast options when values return to the default, as this complicates locking substantially. Most applications allocate a socket either to be multicast, or not, and don't tend to keep around sockets that have previously been used for multicast, then used for unicast. This closes a number of race conditions involving multiple threads or processes modifying the IP multicast state of a socket simultaenously. MFC after: 7 days
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud