[Top][All Lists]
[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'.
- guile threading deadlock, Linas Vepstas, 2008/11/07
- Re: guile threading deadlock, Ludovic Courtès, 2008/11/08
- Re: guile threading deadlock, Linas Vepstas, 2008/11/08
- Re: guile threading deadlock,
Ludovic Courtès <=
- Re: guile threading deadlock, Linas Vepstas, 2008/11/09
- Re: guile threading deadlock, Ludovic Courtès, 2008/11/09
- Re: guile threading deadlock, Linas Vepstas, 2008/11/09
- Re: guile threading deadlock, Ludovic Courtès, 2008/11/09
- Re: guile threading deadlock, Linas Vepstas, 2008/11/10