This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

a thread question


Since GUILE threads are not OS threads, they cannot block on an OS
call. However, I encounter very often a need to have a thread that
will not busy-wait but block on an OS call. If I use an OS thread,
then I cannot invoke GUILE if GUILE was initialized in an other OS
thread. The question is: Could I have an OS thread to be a peer with a
GUILE thread, so that the OS thread can signal the condition variable
that the GUILE peer-thread is blocked on (upon a blocking OS call in
the OS peer-thread has completed)? I mean, to signal the condition
variable using mostly C/C++ code that calls COOP C routines in a way
that will not cause GUILE to crash. Is it possible to provide such a
functionality (just signaling condition variables, nothing more)?

Thanks,
Aleksandar

-- 
Aleksandar Bakic, Comp.Sci. graduate student at Michigan State University
e-mail: bakicale@cps.msu.edu