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);
+      }
     }
   }
 }


Reply via email to