emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/keyboard.c


From: Jan Djärv
Subject: [Emacs-diffs] Changes to emacs/src/keyboard.c
Date: Wed, 15 Dec 2004 18:51:51 -0500

Index: emacs/src/keyboard.c
diff -c emacs/src/keyboard.c:1.803 emacs/src/keyboard.c:1.804
*** emacs/src/keyboard.c:1.803  Wed Dec 15 00:07:15 2004
--- emacs/src/keyboard.c        Wed Dec 15 21:40:39 2004
***************
*** 6838,6860 ****
    interrupt_input_pending = 1;
  #else
  
! # if !defined (SYSTEM_MALLOC) && defined (HAVE_GTK_AND_PTHREAD)
!   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 */
! 
    handle_async_input ();
  #endif
  
--- 6838,6844 ----
    interrupt_input_pending = 1;
  #else
  
!   SIGNAL_THREAD_CHECK (signo);
    handle_async_input ();
  #endif
  
***************
*** 10270,10275 ****
--- 10254,10260 ----
      }
  #endif /* USG */
  
+   SIGNAL_THREAD_CHECK (signalnum);
    cancel_echoing ();
  
    if (!NILP (Vquit_flag)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]