6838 |
interrupt_input_pending = 1; |
interrupt_input_pending = 1; |
6839 |
#else |
#else |
6840 |
|
|
6841 |
# if !defined (SYSTEM_MALLOC) && defined (HAVE_GTK_AND_PTHREAD) |
SIGNAL_THREAD_CHECK (signo); |
|
extern pthread_t main_thread; |
|
|
if (pthread_self () != main_thread) |
|
|
{ |
|
|
/* POSIX says any thread can receive the signal. On GNU/Linux that is |
|
|
not true, but for other systems (FreeBSD at least) it is. So direct |
|
|
the signal to the correct thread and block it from this thread. */ |
|
|
sigset_t new_mask; |
|
|
|
|
|
sigemptyset (&new_mask); |
|
|
sigaddset (&new_mask, SIGIO); |
|
|
pthread_sigmask (SIG_BLOCK, &new_mask, 0); |
|
|
pthread_kill (main_thread, SIGIO); |
|
|
return; |
|
|
} |
|
|
# endif /* HAVE_GTK_AND_PTHREAD */ |
|
|
|
|
6842 |
handle_async_input (); |
handle_async_input (); |
6843 |
#endif |
#endif |
6844 |
|
|
10254 |
} |
} |
10255 |
#endif /* USG */ |
#endif /* USG */ |
10256 |
|
|
10257 |
|
SIGNAL_THREAD_CHECK (signalnum); |
10258 |
cancel_echoing (); |
cancel_echoing (); |
10259 |
|
|
10260 |
if (!NILP (Vquit_flag) |
if (!NILP (Vquit_flag) |