[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile 2.0.9 build on mingw
From: |
Eli Zaretskii |
Subject: |
Re: guile 2.0.9 build on mingw |
Date: |
Mon, 10 Jun 2013 19:23:45 +0300 |
> From: address@hidden (Ludovic Courtès)
> Cc: address@hidden
> Date: Sun, 09 Jun 2013 22:33:50 +0200
>
> Eli Zaretskii <address@hidden> skribis:
>
> > There's only one thread at this point, its backtrace is below.
> > Actually, I don't see more than this one thread during the entire run
> > (GDB doesn't announce any thread birth or death, and Process Explorer
> > shows a single thread in the process at all times). Note that we are
> > talking about a child guile process -- it's that one that prints the
> > weird traceback and hangs. The parent just waits for the child to
> > finish.
>
> Where’s the child process created exactly? It’s not clear to me.
Sorry, this was a red herring. The parent process is the guile.exe
from libguile, which is just a wrapper around the real guile.exe,
which is hidden in its .libs subdirectory. So the parent is not
important; only the child is.
> Anyway, it could be that the parent Guile process has more than one
> thread, and the child Guile process (which has only one thread) ends up
> with some mutexes locked, and possibly inconsistent state.
See above: the parent is not really Guile, it's just called guile.exe
to dupe all kinds of scripts (and me ;-).
> Normally a Guile with multiple threads warns upon ‘fork’, precisely
> because of this problem (see ‘scm_fork’ in posix.c.)
As I wrote earlier, there's no 'fork' in MinGW, so I'm not sure this
is at all relevant. Or maybe it is -- perhaps the threads
infrastructure in Guile really assumes Posix functionality that just
isn't there in the MinGW build?
> However, that warning doesn’t take into account the signal thread, nor
> the GC thread (if any). So, although that seems unlikely, there could
> still be issues, for instance if the ‘scm_fork’ call happens while
> ‘signal_delivery_thread_mutex’ is locked.
What signal would that be? Are you sure it exists, or is emulated, on
Windows?
Thanks.
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/07
- Re: guile 2.0.9 build on mingw, Ludovic Courtès, 2013/06/07
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/07
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/09
- Re: guile 2.0.9 build on mingw, Ludovic Courtès, 2013/06/09
- Re: guile 2.0.9 build on mingw, Andy Wingo, 2013/06/09
- Re: guile 2.0.9 build on mingw, Ludovic Courtès, 2013/06/09
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/10
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/10
- Re: guile 2.0.9 build on mingw,
Eli Zaretskii <=
- Re: guile 2.0.9 build on mingw, Mark H Weaver, 2013/06/10
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/10
- Re: guile 2.0.9 build on mingw, Mark H Weaver, 2013/06/10
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/11
- Re: guile 2.0.9 build on mingw, Ludovic Courtès, 2013/06/11
- Re: guile 2.0.9 build on mingw, Eli Zaretskii, 2013/06/12
- Why launch the Guile signal delivery thread on exit? (was Re: guile 2.0.9 build on mingw), Mark H Weaver, 2013/06/18
- Re: Why launch the Guile signal delivery thread on exit? (was Re: guile 2.0.9 build on mingw), Eli Zaretskii, 2013/06/19
- Re: Why launch the Guile signal delivery thread on exit? (was Re: guile 2.0.9 build on mingw), Julian Graham, 2013/06/19
- Re: Why launch the Guile signal delivery thread on exit? (was Re: guile 2.0.9 build on mingw), Ludovic Courtès, 2013/06/19