Work around a MacOS X 10.4 bug with openpty.
authorSimon Josefsson <simon@josefsson.org>
Sun, 25 Apr 2010 10:59:22 +0000 (12:59 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 25 Apr 2010 10:59:22 +0000 (12:59 +0200)
ChangeLog
doc/glibc-functions/openpty.texi
tests/test-openpty.c

index b115acd43e2ec0694334741e4d311fa1f11fd758..3b85b02636c8036c6ae3d0a118567eb0b8eb9f88 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-04-25  Simon Josefsson  <simon@josefsson.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       Work around a MacOS X 10.4 bug with openpty.
+       * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
+       * tests/test-openpty.c (main): Close the master side explicitly.
+
 2010-04-25  Bruno Haible  <bruno@clisp.org>
 
        strnlen: Fix a C++ test error on MacOS X and Solaris.
index 31fdca0097a01a033465b6eb9765e2531e6c1be3..b9577d599e4b426cf731882097bafc67c5be4cd0 100644 (file)
@@ -30,4 +30,9 @@ Portability problems not fixed by Gnulib:
 @item
 This function is missing on some platforms:
 mingw.
+@item
+After a successful call to @code{openpty}, the application needs to close
+the master's file descriptor before closing the slave's file descriptor,
+otherwise the process may hang in a state where it cannot be killed, on
+some platforms: MacOS X 10.4.11.
 @end itemize
index 4012e160fcc7e61cc2fedc744b3db00536822cfe..41caaf2591da293e9f072a573adf581eb614067f 100644 (file)
@@ -99,6 +99,10 @@ main ()
           return 1;
         }
     }
+
+    /* Close the master side before the slave side gets closed.
+       This is necessary on MacOS X 10.4.11.  */
+    close (master);
   }
 
   return 0;