[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#23808: Emacs 25 open-network-stream, make-network-process
From: |
Paul Eggert |
Subject: |
bug#23808: Emacs 25 open-network-stream, make-network-process |
Date: |
Mon, 20 Jun 2016 12:08:35 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 |
[I'm passing this along from a correspondent who wishes to remain
anonymous.]
Hello, the recent changes to make-network-process (between jan and the
end of april) may have introduced some problems, (I think they may
still be current, apologies otherwise)
I. misreporting the status of a failed network connection: when
open-network-stream is interrupted after `SYN_SENT': For example:
1. $ iptables -A OUTPUT -p tcp --dport 6697 -j DROP -d 127.0.0.1
2. $ nc -v localhost 6697 #;hangs
3. (open-network-stream "test-proc" "test-buffer" "127.0.0.1" 6697) ; ^G
4. (list-processes)
5. (process-status "test-proc") ; open
6. (process-send-string "test-proc" "foo") ; error fd closed
7. (delete-process "test-proc")
For testing on linux, step 1 makes connections to localhost:6697 hang,
step 2 verifies this using `netcat'. interrupt step 3 with a ^G, step
4 lists a spurious "test-proc" which should not exist, and step 5
reports its state as 'open, while step 6 confirms the fd is closed.
II. spurious "server-client-test" processes with
1. emacs --daemon -Q
2. emacsclient -t
3. list-processes
AFAICT from server.el these processes should not exist. Sometimes I've
seen half a dozen of these "server-client-test" processes when the
daemon was slow to start up with multiple clients connecting.
- bug#23808: Emacs 25 open-network-stream, make-network-process,
Paul Eggert <=