[plt-scheme] threads and mzscheme (again)
Hi All,
Recently, I had a problem. A database query in C blocked
the entire mzscheme environment. I solved this by using
scheme_block_until, and executing the database query in
an operating system thread.
Results of this were very satisfying and can be found here:
http://www.elemental-programming.org/epwiki/scheme%20oodb-perftests.html
Now, the queries in these performance tests were executed
directly from scheme, using a function call to call the functions in
the client-handler, see the picture in:
http://www.elemental-programming.org/epwiki/scheme%20oodb.html
Now, I've added the /client-connection-handler/, which handles the
TCP/IP protocol, i.e., the OODB has been given a TCP/IP interface.
Clients can call RPC, via the client-connection-handler, functions
in the /client-handler/. client-connection-handlers are started as a
mzscheme thread from a client acceptor (not in the picture), which
handles TCP accepts.
Suddenly, I'm having the same behaviour as before again. The
database queries seem to be executed synchronously.
What can be the cause of this? Is it multiple scheme_block_until()
calls? (because maybe scheme_block_until() is also used with the
TCP/IP mechanisms in mzscheme)?
Thanks in advance for any answers, I'm really lost here!
Hans Oesterholt.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20050606/34db0026/attachment.html>