This is an automated email from the ASF dual-hosted git repository.
shinrich pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 17d1203 Ensure continuation lock on read and write signal
17d1203 is described below
commit 17d12031bd23b8f5b047f151e5909c375d99bc5d
Author: Susan Hinrichs <[email protected]>
AuthorDate: Mon Aug 13 16:14:04 2018 +0000
Ensure continuation lock on read and write signal
---
iocore/net/UnixNetVConnection.cc | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc
index ccd620a..afc7dfb 100644
--- a/iocore/net/UnixNetVConnection.cc
+++ b/iocore/net/UnixNetVConnection.cc
@@ -78,9 +78,10 @@ net_activity(UnixNetVConnection *vc, EThread *thread)
static inline int
read_signal_and_update(int event, UnixNetVConnection *vc)
{
+ int retval = EVENT_CONT;
vc->recursion++;
if (vc->read.vio.cont) {
- vc->read.vio.cont->handleEvent(event, &vc->read.vio);
+ retval = vc->read.vio.cont->dispatchEvent(event, &vc->read.vio);
} else {
switch (event) {
case VC_EVENT_EOS:
@@ -102,16 +103,17 @@ read_signal_and_update(int event, UnixNetVConnection *vc)
vc->nh->free_netvc(vc);
return EVENT_DONE;
} else {
- return EVENT_CONT;
+ return retval;
}
}
static inline int
write_signal_and_update(int event, UnixNetVConnection *vc)
{
+ int retval = EVENT_CONT;
vc->recursion++;
if (vc->write.vio.cont) {
- vc->write.vio.cont->handleEvent(event, &vc->write.vio);
+ retval = vc->write.vio.cont->dispatchEvent(event, &vc->write.vio);
} else {
switch (event) {
case VC_EVENT_EOS:
@@ -133,7 +135,7 @@ write_signal_and_update(int event, UnixNetVConnection *vc)
vc->nh->free_netvc(vc);
return EVENT_DONE;
} else {
- return EVENT_CONT;
+ return retval;
}
}