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: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/keyboard.c
Date: Sat, 11 Dec 2004 18:53:48 -0500

Index: emacs/src/keyboard.c
diff -c emacs/src/keyboard.c:1.800 emacs/src/keyboard.c:1.801
*** emacs/src/keyboard.c:1.800  Tue Dec  7 21:03:03 2004
--- emacs/src/keyboard.c        Sat Dec 11 23:43:21 2004
***************
*** 6780,6803 ****
  #ifdef BSD4_1
    extern int select_alarmed;
  #endif
- #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.  */
- #ifdef SIGIO
-       sigset_t new_mask;
- 
-       sigemptyset (&new_mask);
-       sigaddset (&new_mask, SIGIO);
-       pthread_sigmask (SIG_BLOCK, &new_mask, 0);
-       pthread_kill (main_thread, SIGIO);
- #endif
-       return;
-     }
- #endif
  
    interrupt_input_pending = 0;
  
--- 6780,6785 ----
***************
*** 6826,6847 ****
  {
    /* Must preserve main program's value of errno.  */
    int old_errno = errno;
- #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 */
  #if defined (USG) && !defined (POSIX_SIGNALS)
    /* USG systems forget handlers when they are used;
       must reestablish each time */
--- 6808,6813 ----
***************
*** 6858,6863 ****
--- 6824,6847 ----
  #ifdef SYNC_INPUT
    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
  




reply via email to

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