guile-user
[Top][All Lists]
Advanced

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

Re: guile 2.0.9 build on mingw


From: Ludovic Courtès
Subject: Re: guile 2.0.9 build on mingw
Date: Sun, 09 Jun 2013 23:35:54 +0200
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

Andy Wingo <address@hidden> skribis:

> On Sun 09 Jun 2013 22:33, address@hidden (Ludovic Courtès) writes:
>
>> 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.
>
> In theory the signal thread is counted among the threads -- iirc anyway.

Apparently no, because ‘scm_fork’ uses ‘scm_all_threads’, which
explicitly “hides” the signal thread.

> The signal-handling thread is kicked off at the first call to sigaction,
> which shouldn't happen there, right?

Hmm, right, though it can also be spawned from ‘on_thread_exit’.

A better test would be:

  (use-modules (ice-9 match))
  (sigaction SIGINT)
  (match (primitive-fork)
    (0 (gc) (primitive-exit 0))
    (child
      (waitpid child)
      (exit 0)))

> Also there should be no GC threads active at that point.

Even with the 7.3ish marker thread thing?  At any rate, that’s something
that’s not really under Guile’s control.

Thanks,
Ludo’.



reply via email to

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