Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Nov 2000 23:03:20 -0500 (EST)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        Mike Smith <msmith@FreeBSD.org>
Cc:        John Baldwin <jhb@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/sys eventhandler.h 
Message-ID:  <200011150403.XAA67532@khavrinen.lcs.mit.edu>
In-Reply-To: <200011150325.eAF3PRF01212@mass.osd.bsdi.com>
References:  <200011141823.KAA89218@freefall.freebsd.org> <200011150325.eAF3PRF01212@mass.osd.bsdi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Tue, 14 Nov 2000 19:25:27 -0800, Mike Smith <msmith@FreeBSD.org> said:

> If you want to release the lock on the list, you would have to detect 
> when the list is changed and rescan it to find the 'new' current 
> location.  Only that doesn't work either, since the list traversal allows 
> you to remove the current handler from the list.

Not necessarily.  You can do it by maintaining two queues, and
deferring deletion (using a flag bit in the queue element).  I'm
fairly certain it's possible to do a completely non-blocking traversal
of such a queue.

-GAWollman



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011150403.XAA67532>