|
From: | Jörg F . Wittenberger |
Subject: | [Chicken-hackers] [PATCH] fix issues regarding force-primordial |
Date: | 19 Dec 2018 18:12:58 +0100 |
Hi all,up to now the primordial thread must sit in thread-join! for force-primordial to do the right thing.
It would be the wrong solution to go after all synchronization primitives adding an alternative micro-threading to dispatch signals. This would hopelessly complicate the code.
Hence the alternative solution to dispatch signals to a dedicated thread.0001 and 0002 apply on chicken 4.13 after the patches I sent today, i.e., atop of a062862d. 0001 adds test cases, 0002 brings the fix and removes the special case from thread-join!.
0003 does the same for master atop of 5da7a55b. 0004 goes to srfi-18 Note:1. That the name ##sys#force-primordial becomes a misnomer this way. It should be renamed, hidden and removed from the not-inline declaration after testing. (Which in turn will break those tests, hence I left it in for now.)
2. We /might/ want to modify this slightly to add the signal handler thread in front of the ready queue, not at the end.
Best /Jörg
0001-Add-test-cases-raising-issues-wrt.-force-primordial.patch
Description: 0001-Add-test-cases-raising-issues-wrt.-force-primordial.patch
0002-Use-dedicated-thread-instead-of-forcing-primordial-f.patch
Description: 0002-Use-dedicated-thread-instead-of-forcing-primordial-f.patch
0003-Use-dedicated-thread-instead-of-forcing-primordial-f.patch
Description: 0003-Use-dedicated-thread-instead-of-forcing-primordial-f.patch
0004-Fix-issues-with-sys-force-primordial-breaking-synchr.patch
Description: 0004-Fix-issues-with-sys-force-primordial-breaking-synchr.patch
[Prev in Thread] | Current Thread | [Next in Thread] |