Looking at it briefly it is used on the TransactionPlugin and it accessed 
through TransactionPlugin::getMutex() with 13 callers.

It looks to be mainly used in IntercepPlugin.cc and AsyncHttpFetch.cc.  In 
Intercept is guarantees that only one thread is producing to the output vio at 
a time.  I didn’t see where in AsyncHttpFetch it was really being used.

-Bryan


> On Jul 29, 2019, at 9:47 AM, Walt Karas <wka...@verizonmedia.com.INVALID> 
> wrote:
> 
> Does anyone know why this mutex is needed?
> 
> https://github.com/apache/trafficserver/blob/master/src/tscpp/api/TransactionPlugin.cc#L41
> 
> Does it only protect the TransactionObjectState object it's in, or does it
> protect other data?  Under what scenario(s) does it provide protection that
> would not be provided by the transaction mutex?

Reply via email to