Ignore:
Timestamp:
Dec 11, 2008, 9:17:04 AM (13 years ago)
Author:
gb
Message:

Since SIQQUIT can be sent to the process, using a handler for it to
force threads to die somewhat cleanly leads to unexpected behavior
(e.g., kills whatever thread's unlucky enough to receive that
signal.)

Reorganize things a bit, to minimize references to SIGQUIT and
hopefully make it easier to use some signal that's not used by
the platform unless we can reliably differentiate between
signals sent thread-to-thread and those sent sent "to the process."
(So far, it seems that Linux and Solaris reliably identify signals
sent by pthread_kill and FreeBSD and Darwin don't; unfortunately,
it may be harder to find "unused but usable" signal numbers on
FreeBSD and Darwin.)

These changes shouldn't change the status quo, but may make it
easier to do so.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/Threads.h

    r11184 r11500  
    240240#endif
    241241
    242 extern int thread_suspend_signal, thread_resume_signal;
     242
     243#define SIG_KILL_THREAD  SIGQUIT   /* unless we can find something better */
     244
     245extern int thread_suspend_signal, thread_quit_signal;
    243246
    244247void *
Note: See TracChangeset for help on using the changeset viewer.