Skip to content

Poco::NamedEvent does not release System V semaphore on Linux #2971

@ColovicAleksandar

Description

@ColovicAleksandar

Repro steps: create array of e.g. 256 Poco::NamedEvent instances. You'll get an error e.g.
System exception : cannot create named mutex ... semget() failed, errno=28

The Linux system allows up to 128 semaphore Ids and Poco::NamedEvent does not release semaphore id of the destructed Poco::NamedEvent instance.

I think in the NamedEvent_UNIX.cpp NamedEventImpl::~NamedEventImpl() there should be a call:

#if (POCO_OS == POCO_OS_LINUX)
// remove semaphores
semctl (semid, 0, IPC_RMID);
...

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions