[Openmcl-devel] Managing multi-threaded access to list
Joseph Oswald
josephoswald at gmail.com
Sun May 28 13:57:22 PDT 2006
David--
Thanks for the very helpful response. I think that will work for me.
A few additional questions for you or the list: there might arise
some condition that indicates that no more packets will be coming in.
Is there a way to know how many consumers were waiting, and to unblock
them (presumably, after they wake up, they will check for this "closed
condition" and go away without a packet)? ccl::semaphore-value?
A workaround might be timed-wait-on-semaphore to allow a periodic check.
Furthermore, is there any need to destroy semaphores when the
connection goes away? Are they a limited OS resource?
--Joe
On 5/25/06, David L. Rager <ragerdl at cs.utexas.edu> wrote:
> Hi Joseph,
>
> You are missing a basic building block: the semaphore. Also, you should use
> the exported function (ccl:make-lock) instead of the non-exported
> make-read-write-lock.
>
> A semaphore allows for efficient (fast) signaling between threads. From the
> "make-semaphore" documentation:
More information about the Openmcl-devel
mailing list