Próbowałem zrozumieć zawiłości interakcji wątków POSIX i sygnałów POSIX. W szczególności interesuje mnie:
- Jaki jest najlepszy sposób kontrolowania, do którego wątku jest dostarczany sygnał (zakładając, że nie jest to śmiertelne)?
- Jaki jest najlepszy sposób poinformowania innego wątku (który może być faktycznie zajęty), że sygnał dotarł? (Wiem już, że używanie zmiennych warunkowych pthread z modułu obsługi sygnału jest złym pomysłem).
- Jak mogę bezpiecznie obsługiwać przekazywanie informacji o pojawieniu się sygnału do innych wątków? Czy to musi się zdarzyć w programie obsługi sygnału? (Generalnie nie chcę zabijać innych wątków; potrzebuję znacznie subtelniejszego podejścia.)
Aby dowiedzieć się, dlaczego tego chcę, badam, jak przekonwertować pakiet TclX do obsługi wątków lub podzielić go i przynajmniej utworzyć kilka przydatnych części obsługujących wątki. Sygnały to jedna z tych części, która jest szczególnie interesująca.