Author: vmamidi
Date: Thu Aug 18 19:43:13 2011
New Revision: 1159376
URL: http://svn.apache.org/viewvc?rev=1159376&view=rev
Log:
TS-867 moving to a different thread only if the pluginvc is invoked from a non
regular thread
Modified:
trafficserver/traffic/trunk/proxy/PluginVC.cc
Modified: trafficserver/traffic/trunk/proxy/PluginVC.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/PluginVC.cc?rev=1159376&r1=1159375&r2=1159376&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/PluginVC.cc (original)
+++ trafficserver/traffic/trunk/proxy/PluginVC.cc Thu Aug 18 19:43:13 2011
@@ -788,9 +788,23 @@ PluginVC::setup_event_cb(ink_hrtime in,
// We locked the pointer so we can now allocate an event
// to call us back
if (in == 0) {
- *e_ptr = eventProcessor.schedule_imm(this);
- } else {
- *e_ptr = eventProcessor.schedule_in(this, in);
+ if(this_ethread()->tt == REGULAR) {
+ this_ethread()->schedule_imm(this);
+ }
+ else
+ {
+ *e_ptr = eventProcessor.schedule_imm(this);
+ }
+ }
+ else
+ {
+ if(this_ethread()->tt == REGULAR) {
+ *e_ptr = this_ethread()->schedule_in(this,in);
+ }
+ else
+ {
+ *e_ptr = eventProcessor.schedule_in(this, in);
+ }
}
}
}