Issue #14867 has been updated by ko1 (Koichi Sasada).


"multi-thread-safe" is not correct. It was my mistake and it should be "signal handler safe" because this API is used by stackprof (used with SIGPROF).

however, I recognize this assumption is broken with the following ticket.


```
commit 5a1dfb04bc2b09fcf8f3427cac72d0ce52a45eb2
Author: normal <normal / b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date:   Thu May 17 04:20:33 2018 +0000

    vm_trace: implement postponed_jobs as st_table
    
    st_table allows the use of st_shift to act as an order-preserving
    queue while allowing fast lookups to prevent duplicate jobs.
    
    In typical Ruby apps, this table will only have one entry
    for gc_finalize_deferred_register.
```

I believe this commit should be reverted (and I need to write a comment about assumption).


----------------------------------------
Bug #14867: Process.wait can wait for MJIT compiler process
https://bugs.ruby-lang.org/issues/14867#change-74574

* Author: k0kubun (Takashi Kokubun)
* Status: Closed
* Priority: Normal
* Assignee: normalperson (Eric Wong)
* Target version: 
* ruby -v: 
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
If Ruby tries to wait for any child process, MJIT's gcc/clang process could be caught by the method call. It's not convenient for both Ruby's user and MJIT worker thread, so Process.wait and its families should somehow avoid waiting for it.

---Files--------------------------------
0001-hijack-SIGCHLD-handler-for-internal-use.patch (13.8 KB)
JIT-test-all.log (39.9 KB)
mjit_test-all_63796.log (40.4 KB)
config_ruby-loco_mingw.log (27 KB)
test_jit_results.txt (41.2 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>