Skip to content

Commit bd3b628

Browse files
committed
Ignore read and write errors if vio has been cleared
recommendation from Oknet
1 parent 23e8dd0 commit bd3b628

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

iocore/net/UnixNet.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ NetHandler::mainNetEvent(int event, Event *e)
505505
set_cont_flags(vc->control_flags);
506506
if (vc->closed)
507507
close_UnixNetVConnection(vc, trigger_event->ethread);
508-
else if ((vc->read.enabled || vc->read.error) && vc->read.triggered)
508+
else if ((vc->read.enabled && vc->read.triggered) || (vc->read.error && vc->read.vio._cont != nullptr))
509509
vc->net_read_io(this, trigger_event->ethread);
510510
else if (!vc->read.enabled) {
511511
read_ready_list.remove(vc);
@@ -522,7 +522,7 @@ NetHandler::mainNetEvent(int event, Event *e)
522522
set_cont_flags(vc->control_flags);
523523
if (vc->closed)
524524
close_UnixNetVConnection(vc, trigger_event->ethread);
525-
else if ((vc->write.enabled || vc->write.error) && vc->write.triggered)
525+
else if ((vc->write.enabled && vc->write.triggered) || (vc->write.error && vc->write.vio._cont != nullptr))
526526
write_to_net(this, vc, trigger_event->ethread);
527527
else if (!vc->write.enabled) {
528528
write_ready_list.remove(vc);
@@ -540,7 +540,7 @@ NetHandler::mainNetEvent(int event, Event *e)
540540
diags->set_override(vc->control.debug_override);
541541
if (vc->closed)
542542
close_UnixNetVConnection(vc, trigger_event->ethread);
543-
else if ((vc->read.enabled || vc->read.error) && vc->read.triggered)
543+
else if ((vc->read.enabled && vc->read.triggered) || (vc->read.error && vc->read.vio._cont != nullptr))
544544
vc->net_read_io(this, trigger_event->ethread);
545545
else if (!vc->read.enabled)
546546
vc->ep.modify(-EVENTIO_READ);
@@ -549,7 +549,7 @@ NetHandler::mainNetEvent(int event, Event *e)
549549
diags->set_override(vc->control.debug_override);
550550
if (vc->closed)
551551
close_UnixNetVConnection(vc, trigger_event->ethread);
552-
else if ((vc->write.enabled || vc->write.error) && vc->write.triggered)
552+
else if ((vc->write.enabled && vc->write.triggered) || (vc->write.error && vc->write.vio._cont != nullptr))
553553
write_to_net(this, vc, trigger_event->ethread);
554554
else if (!vc->write.enabled)
555555
vc->ep.modify(-EVENTIO_WRITE);

0 commit comments

Comments
 (0)