mecca icon indicating copy to clipboard operation
mecca copied to clipboard

Signal handling feature not working in ldc 1.18

Open baruch opened this issue 6 years ago • 1 comments

The Travis CI tests are failing since the LDC 1.18 and druntime spawn a new thread for GC early on and it doesn't have the ALRM signal blocked, this means that when the alarm is raised it goes to that thread and kills the process as there is no handling for it.

We need to find a way to block the signals from the GC (and other druntime) threads as it messes up our own signal handling.

Using a

shared static this()

did not help since the order is not really defined in a way that we can control it to come before the shared static this that actually causes the GC to start (the first one was the TscTimePoint one that goes to readText("/proc/cpuinfo")

baruch avatar Oct 15 '19 04:10 baruch

Looks like ldc has a new commit to block all signals from the parallel scan threads in https://github.com/dlang/druntime/blob/408b6340bb1fe032761be46f5ee946f07978f942/src/gc/impl/conservative/gc.d#L2840

baruch avatar Oct 15 '19 04:10 baruch