Repository: trafficserver Updated Branches: refs/heads/master cb6e6f6a8 -> 28fd1cc4b
TS-2253: PluginVC::process_close Segmentation fault Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/28fd1cc4 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/28fd1cc4 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/28fd1cc4 Branch: refs/heads/master Commit: 28fd1cc4b3fb66b63675ba08a167f886a739d7bf Parents: cb6e6f6 Author: bettydramit <[email protected]> Authored: Tue May 20 15:08:40 2014 -0700 Committer: Bryan Call <[email protected]> Committed: Tue May 20 15:09:42 2014 -0700 ---------------------------------------------------------------------- proxy/PluginVC.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/28fd1cc4/proxy/PluginVC.cc ---------------------------------------------------------------------- diff --git a/proxy/PluginVC.cc b/proxy/PluginVC.cc index 66a4a7b..9b0727e 100644 --- a/proxy/PluginVC.cc +++ b/proxy/PluginVC.cc @@ -127,7 +127,8 @@ PluginVC::main_handler(int event, void *data) read_mutex_held = MUTEX_TAKE_TRY_LOCK(read_side_mutex, my_ethread); if (!read_mutex_held) { - call_event->schedule_in(PVC_LOCK_RETRY_TIME); + if (call_event != inactive_event) + call_event->schedule_in(PVC_LOCK_RETRY_TIME); return 0; } @@ -135,7 +136,8 @@ PluginVC::main_handler(int event, void *data) // It's possible some swapped the mutex on us before // we were able to grab it Mutex_unlock(read_side_mutex, my_ethread); - call_event->schedule_in(PVC_LOCK_RETRY_TIME); + if (call_event != inactive_event) + call_event->schedule_in(PVC_LOCK_RETRY_TIME); return 0; } } @@ -147,7 +149,8 @@ PluginVC::main_handler(int event, void *data) if (read_mutex_held) { Mutex_unlock(read_side_mutex, my_ethread); } - call_event->schedule_in(PVC_LOCK_RETRY_TIME); + if (call_event != inactive_event) + call_event->schedule_in(PVC_LOCK_RETRY_TIME); return 0; } @@ -158,7 +161,8 @@ PluginVC::main_handler(int event, void *data) if (read_mutex_held) { Mutex_unlock(read_side_mutex, my_ethread); } - call_event->schedule_in(PVC_LOCK_RETRY_TIME); + if (call_event != inactive_event) + call_event->schedule_in(PVC_LOCK_RETRY_TIME); return 0; } }
