[GitHub] trafficserver pull request #1096: TS-4955: Remove the global mutex from the ...

2016-10-12 Thread jpeach
Github user jpeach closed the pull request at:

https://github.com/apache/trafficserver/pull/1096


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] trafficserver pull request #1096: TS-4955: Remove the global mutex from the ...

2016-10-12 Thread bryancall
Github user bryancall commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/1096#discussion_r83042781
  
--- Diff: proxy/InkAPI.cc ---
@@ -6663,8 +6661,7 @@ TSHttpTxnServerIntercept(TSCont contp, TSHttpTxn txnp)
   sdk_assert(sdk_sanity_check_mutex(i->mutex) == TS_SUCCESS);
 
   http_sm->plugin_tunnel_type = HTTP_PLUGIN_AS_SERVER;
-  http_sm->plugin_tunnel  = PluginVCCore::alloc();
-  http_sm->plugin_tunnel->set_accept_cont(i);
--- End diff --

"i" - Should be a better variable name.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] trafficserver pull request #1096: TS-4955: Remove the global mutex from the ...

2016-10-11 Thread jpeach
GitHub user jpeach opened a pull request:

https://github.com/apache/trafficserver/pull/1096

TS-4955: Remove the global mutex from the plugin session acceptor.

``plugin_http_accept`` has a global mutex which can be contended by 
protocol plugins. We don't require locking on ``HttpSessionAccept`` objects and 
the normal server port accept objects are not locked.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jpeach/trafficserver fix/4955

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/trafficserver/pull/1096.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1096


commit 733c6113790fd5eb26492e1df3a14447118c6e40
Author: James Peach 
Date:   2016-10-11T19:07:59Z

TS-4955: Assign the Plugin VC acceptor at allocation time.

Since we always require a continuation to receive the accept event,
just require it at allocation time, rather than requiring the caller to
remember to call an additional function.

commit c5906cae914787c4c6acf14f590a736b1eff9984
Author: James Peach 
Date:   2016-10-11T20:44:42Z

TS-4955: Allow Plugin VC accept continuation to be unlocked.

We never need to hold the continuation lock when delivering
NET_EVENT_ACCEPT, so allow a NULL continuation mutex in PluginVC to
prevent lock contention on the plugin_http_accept object. We still hold
the lock if it is present since in the intercept cases, the continuation
can come from plugins that may be expecting us to lock.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---