К сожалению, нет.В спецификации семафора POSIX нет функции sem_name
(или как бы вы ее ни называли).Также нет специфического для Linux обходного пути, поскольку он также не предоставляет sem_name
и не сохраняет имя в sem_t
, которое определено в <bits/semaphore.h>
как
typedef union
{
char __size[__SIZEOF_SEM_T];
long int __align;
} sem_t;
Файлы /proc/sys/kernel/sem
и /proc/sysvipc/sem
, по-видимому, также не содержат этой информации.
Таким образом, ваш лучший вариант - сохранять имя самостоятельно при выполнении sem_open
, предпочтительно в классе-оболочке.См. этот ответ для примера класса оболочки.