Subject: bug#562: 23.0.60; OSX: make-network-process reuses existing file descriptors

From: Markus Triska <[email-masked]>
Date: Tue, 15 Jul 2008 13:33:48 +0200

When I evaluate the following form in "emacs -Q":

   (progn
     (setq p1 (make-network-process :name "p1" :host "www.fsf.org" :service 80))
     (setq p2 (make-network-process :name "p2" :host "www.fsf.org" :service 80))
     (setq p3 (make-network-process :name "p3" :host "www.fsf.org" :service 80))
     (delete-process p2)
     (process-send-string p3 "there"))

I get:

  Debugger entered--Lisp error: (file-error "writing to process" "bad file descriptor" #<process p3<1>>)
  process-send-string(#<process p3<1>> "hi")

This is because p2 and p3 are both created with infd=outfd=0, thus
closing the channel for p2 also closes that of p3.

In GNU Emacs 23.0.60.1 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
 of 2008-07-13 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
configured using `configure  'CFLAGS=-O0 -g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t