Opened 8 years ago

#10720 new Bugs

boost::interprocess Windows semaphore and mutex creation can fail due to naming convention

Reported by: Ville Outamaa <ville.outamaa@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

boost::interprocess names the mutexes and semaphores using the sync_id and sync_handles classes found in interprocess/sync/windows/sync_utils.hpp. The sync_id class uses winapi::query_performance_counter to obtain a value which is then used to create a supposedly unique identifier for the semaphore or mutex in sync_handles::fill_name.

The problem is that when multiple mutexes and/or semaphores are created within such a short time frame that the value returned by winapi::query_performance_counter does not change, the creation fails with winapi::error_already_exists.

Change History (0)

Note: See TracTickets for help on using tickets.