guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

threads from outside guile


From: Nic Ferrier
Subject: threads from outside guile
Date: 22 Oct 2003 21:04:10 +0100

I've written an HTTP server for guile/scheme. I want to use
threads. I want to create the threads from C (there are good reasons
for these decisions, believe me).

In effect what I want to do is this:


server.c

main ()
{
  init_guile();
  for (i = 0; i < 100; i++)
    make_thread(handler);
}

handler ()
{
  while (1)
    {
       get_mutex_lock();
       soc = accept(socket);
       release_mutex_lock();
       call_scheme_function(soc);
    }
}


I could do this kind of thing with Python, though the C pthreads would
have to register themselves with Python first.

The current trunk guile doesn't seem to work with threads created
outisde of guile and it isn't immediately obvious whether it's
possible to do at all...

I have worked my way through a little of the code, it seems like I'm
getting an exception in the garbage collector (but I'm not really
sure).


Can anyone give me a clue as to whether guile is supposed to support
threads created outside of the scheme environment?

If so are they expected to register with guile in some way?

If not, any basic overview of how I might add a registration system?



Nic Ferrier





reply via email to

[Prev in Thread] Current Thread [Next in Thread]