guile-user
[Top][All Lists]
Advanced

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

Re: guile threading deadlock


From: Ludovic Courtès
Subject: Re: guile threading deadlock
Date: Sun, 09 Nov 2008 18:13:50 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux)

Hi,

"Linas Vepstas" <address@hidden> writes:

> Anyway, I have an even simpler variant, with only *one*
> thread deadlocked in gc.    Here's the scenario:
>
> thread A:
>    scm_init_guile();
>    does some other stuff, then
>    goes to sleep in select, waiting on socket input
>    (as expected).
>
> thread B:
>    scm_init_guile() -- hangs here.

Just to be sure: do you use raw select(2), `scm_std_select ()', or
select(2) within `scm_without_guile ()'?

The first option would lead to the situation you're observing because
Guile's GC requires thread to cooperate, which is why
`scm_without_guile' exists (info "(guile) Blocking").  You should use
one of the other options.

Ludo'.





reply via email to

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