aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/drivers/common/inet_drv.c
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2011-03-21 14:55:19 +0100
committerPatrik Nyblom <[email protected]>2011-03-21 15:02:10 +0100
commitd46319ff2472610a34450f0a0fe62fd0c9c29f41 (patch)
tree8b00776ac07e2eac9f8394ec3a9205321470b882 /erts/emulator/drivers/common/inet_drv.c
parentf861b4fdb3fd39e35f2951c53a73b30a98c7f973 (diff)
downloadotp-d46319ff2472610a34450f0a0fe62fd0c9c29f41.tar.gz
otp-d46319ff2472610a34450f0a0fe62fd0c9c29f41.tar.bz2
otp-d46319ff2472610a34450f0a0fe62fd0c9c29f41.zip
Teach tcp_recv not to cancel send timer
Diffstat (limited to 'erts/emulator/drivers/common/inet_drv.c')
-rw-r--r--erts/emulator/drivers/common/inet_drv.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index b491242aea..59f4cfb9b4 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -8550,7 +8550,9 @@ static int tcp_deliver(tcp_descriptor* desc, int len)
len = 0;
if (!desc->inet.active) {
- driver_cancel_timer(desc->inet.port);
+ if (!desc->busy_on_send) {
+ driver_cancel_timer(desc->inet.port);
+ }
sock_select(INETP(desc),(FD_READ|FD_CLOSE),0);
if (desc->i_buf != NULL)
tcp_restart_input(desc);