parent
d54c1ecd5f
commit
2b4cd792c1
@ -1,7 +1,7 @@
|
|||||||
diff -ur db.old/common-channel.c db.dev/common-channel.c
|
diff -ur db.old/common-channel.c db.dev/common-channel.c
|
||||||
--- db.old/common-channel.c 2007-02-22 17:17:15.000000000 +0100
|
--- db.old/common-channel.c 2007-02-22 17:17:15.000000000 +0100
|
||||||
+++ db.dev/common-channel.c 2007-05-06 19:50:19.154943528 +0200
|
+++ db.dev/common-channel.c 2007-05-06 19:50:19.154943528 +0200
|
||||||
@@ -309,15 +309,6 @@
|
@@ -309,15 +309,15 @@
|
||||||
&& (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED)) {
|
&& (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED)) {
|
||||||
send_msg_channel_eof(channel);
|
send_msg_channel_eof(channel);
|
||||||
}
|
}
|
||||||
@ -14,6 +14,15 @@ diff -ur db.old/common-channel.c db.dev/common-channel.c
|
|||||||
- TRACE(("sending close, readfd is closed"))
|
- TRACE(("sending close, readfd is closed"))
|
||||||
- send_msg_channel_close(channel);
|
- send_msg_channel_close(channel);
|
||||||
- }
|
- }
|
||||||
|
+
|
||||||
|
+ /* And if we can't receive any more data from them either, close up (server only) */
|
||||||
|
+ if (!channel->sent_close
|
||||||
|
+ && channel->readfd == FD_CLOSED
|
||||||
|
+ && !ERRFD_IS_WRITE(channel)
|
||||||
|
+ && !write_pending(channel)) {
|
||||||
|
+ TRACE(("sending close, readfd is closed"))
|
||||||
|
+ send_msg_channel_close(channel);
|
||||||
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check whether a deferred (EINPROGRESS) connect() was successful, and
|
/* Check whether a deferred (EINPROGRESS) connect() was successful, and
|
||||||
|
Loading…
Reference in New Issue
Block a user