Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

cv_set_call_checker in thread childs #221

Open
@rurban

Description

@rurban

The cv_set_call_checker API may not store thread-local callback pointers. PL_check is global, and such a callback may not be used from other threads, as it will lead to segfaults. Esp. under mod_perl and modules using old signatures hacks using the cv_set_call_checker API.
There every ENTERSUB call will try CHECKOP, accessing the hook, which might be an invalid ptr.

  • Either move PL_check from G to I, interpreter-specific.
  • Or refuse to set a callback in a threaded child, only in thread id 0.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions