ewx: (geek)
[personal profile] ewx
--- server/play.c       2008-03-03 22:56:22 +0000
+++ server/play.c       2008-03-09 11:10:46 +0000
@@ -389,8 +390,14 @@
       /* np will be the pipe to disorder-normalize */
       if(socketpair(PF_UNIX, SOCK_STREAM, 0, np) < 0)
         fatal(errno, "error calling socketpair");
+      /* Beware of the Leopard!  On OS X 10.5.x, the order of the shutdown
+       * calls here DOES MATTER.  If you do the SHUT_WR first then the SHUT_RD
+       * fails iwth "Socket is not connected".  I think this is a bug but
+       * provided implementors either don't care about the order or all agree
+       * about the order, choosing the reliable order is an adequate
+       * workaround.  */
+      xshutdown(np[1], SHUT_RD);       /* decoder writes to np[1] */
       xshutdown(np[0], SHUT_WR);       /* normalize reads from np[0] */
-      xshutdown(np[1], SHUT_RD);       /* decoder writes to np[1] */
       blocking(np[0]);
       blocking(np[1]);
       /* Start disorder-normalize */

(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

November 2025

S M T W T F S
      1
2345678
91011121314 15
1617 181920 2122
23242526272829
30      

Most Popular Tags

Expand Cut Tags

No cut tags