Skip to content

Conversation

@SolidWallOfCode
Copy link
Member

No description provided.

@atsci
Copy link

atsci commented Sep 6, 2016

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/602/ for details.

@atsci
Copy link

atsci commented Sep 6, 2016

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/707/ for details.

setupTransactionManagement()
{
// Reserve a transaction slot
TSAssert(TS_SUCCESS == TSHttpArgIndexReserve("atscppapi", "ATS CPP API", &TRANSACTION_STORAGE_INDEX));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't you want to check with TSHttpArgIndexNameLookup first?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, OK I guess this is safe because of the pthread_once in utils::internal::initTransactionManagement(). It seems a little fragile to me though. I think it would be more obvious if this was just done in GlobalPlugin::GlobalPlugin() and the intermediate functions were removed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the problem with GlobalPlugin::GlobalPlugin is it can be called multiple times, once for each global plugin defined. I think only one transaction arg is required, though, for all global plugins.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, you would use TSHttpArgIndexNameLookup.

@asfgit asfgit closed this in 17fdb2f Sep 11, 2016
ericcarlschwartz pushed a commit to ericcarlschwartz/trafficserver that referenced this pull request Sep 29, 2016
@SolidWallOfCode SolidWallOfCode deleted the ts-4555 branch October 21, 2018 23:31
JosiahWI added a commit to JosiahWI/trafficserver that referenced this pull request Jul 8, 2024
…pache#967)

Plugins may want to use both TLS and HTTP hooks without a mutex. An example of this is the ja3_fingerprint, which has a possible race condition between the VCONN_CLOSE hook and HTTP hooks according to the current documentation. However, these events happen on the same thread and are thus serialized. This updates the documentation to clarify that the current behavior is guaranteed.

Co-authored-by: JosiahWI <41302989+JosiahWI@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants