bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#5819: 23.1.93; OSX: start-process sometimes returns an unready proce


From: YAMAMOTO Mitsuharu
Subject: bug#5819: 23.1.93; OSX: start-process sometimes returns an unready process
Date: Fri, 09 Apr 2010 09:48:29 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shij┼Ź) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Fri, 09 Apr 2010 00:10:09 +0200, Markus Triska <address@hidden> said:

> YAMAMOTO Mitsuharu <address@hidden> writes:
>> The following simpler one seems to work for me on 10.4 (but not on
>> 10.3, again).  Could you test if it also works for you, with
>> respect to this problem and #726 (23.0.60; OSX: Complete OS crash)?

> Your patch fixes both issues for me. Thank you very much!

Thanks for testing.

Maintainers, which branch should I install this patch to?  Bug#726 is
marked as important.

                             YAMAMOTO Mitsuharu
                        address@hidden

=== modified file 'src/s/darwin.h'
*** src/s/darwin.h      2010-03-30 04:55:59 +0000
--- src/s/darwin.h      2010-04-05 03:21:53 +0000
***************
*** 90,95 ****
--- 90,113 ----
   */
  
  #define HAVE_PTYS
+ /* Run only once.  We need a `for'-loop because the code uses
+    `continue'.  */
+ #define PTY_ITERATION for (i = 0; i < 1; i++)
+ #define PTY_NAME_SPRINTF      /* none */
+ #define PTY_TTY_NAME_SPRINTF  /* none */
+ /* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
+    But we don't have to block SIGCHLD because it is blocked in the
+    implementation of grantpt.  */
+ #define PTY_OPEN                                              \
+   do                                                          \
+     {                                                         \
+       int slave;                                              \
+       if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1)  \
+       fd = -1;                                                \
+       else                                                    \
+       emacs_close (slave);                                    \
+     }                                                         \
+   while (0)
  
  /**
   * PTYs only work correctly on Darwin 7 or higher.  So make the






reply via email to

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