summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2018-09-14 10:26:30 +0000
committerHåvard Pettersen <havardpe@oath.com>2018-09-14 10:26:30 +0000
commit157b4b71b10aaf086db88bf382b20792ab3f7379 (patch)
tree2db7ff8e629ae5df13fb60ffcf7fb7ee6e1ffc48 /fnet
parent0f5a8542736289d859ffdc9a6c779029847211f3 (diff)
enable optimistic write
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/vespa/fnet/transport_thread.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/fnet/src/vespa/fnet/transport_thread.cpp b/fnet/src/vespa/fnet/transport_thread.cpp
index bb637194748..2c0d00b22f3 100644
--- a/fnet/src/vespa/fnet/transport_thread.cpp
+++ b/fnet/src/vespa/fnet/transport_thread.cpp
@@ -461,7 +461,11 @@ FNET_TransportThread::handle_wakeup()
break;
case FNET_ControlPacket::FNET_CMD_IOC_ENABLE_WRITE:
context._value.IOC->EnableWriteEvent(true);
- context._value.IOC->SubRef();
+ if (context._value.IOC->HandleWriteEvent()) {
+ context._value.IOC->SubRef();
+ } else {
+ handle_close_cmd(context._value.IOC);
+ }
break;
case FNET_ControlPacket::FNET_CMD_IOC_DISABLE_WRITE:
context._value.IOC->EnableWriteEvent(false);