Re: race condition in run-time system

Taylor R Campbell <[email protected]>
Newsgroups gmane.lisp.scheme.scheme48
Message-ID <[email protected]>
   Date: Fri, 08 May 2009 08:49:18 +0200
   From: Michael Sperber <[email protected]>

   Could you elaborate a bit on where the race occurs?  I don't see it,
   despite staring at it for a while.  (I see that it may get in the way of
   itself, but only in inconsequential ways.)

Two threads, A and B, call PERIODICALLY-FORCE-OUTPUT! concurrently
(because they both called OPEN-OUTPUT-FILE or something).  Each thread
fetches the cdr of the list of periodically forced ports.  Each thread
conses up a new cdr.  Thread A sets the cdr, and then thread B sets
the cdr again, clobbering the change that thread A made, effectively
removing thread A's port from the list.  Thread A's port will not be
periodically forced.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.