> With the Notes API being substantially weaker. How does one go about
> creating a proper multi-threaded application on Plan 9 with robust
> Note processing akin to the above POSIX method?

easy: don't use signals for communication, like erik said.

also note that on plan 9 each "thread" (really proc) has
a distinct pid, so you *can* direct notes to individual 
threads if that's really what you want to do.

you can use semacquire and semrelease to manage a 
buffer of notes being read by the other procs.  
since semrelease is guaranteed not to block, you 
can write the note-catching proc such that it makes
no blocking calls and thus doesn't need to care that
it is getting notes fired at it at unexpected times.

but really the solution is not to use notes for these
kinds of things.  notes are for memory faults and
the like.

russ

Reply via email to