Глобальный именованный эквивалент события в Unix - PullRequest
4 голосов
/ 27 сентября 2011

Что такое глобальный именованный объект события в Unix?Мне нужно создать именованный событийный объект в Unix, чтобы другой процесс мог установить его

псевдокод в Win32:

HANDLE hEvent=CreateEvent(...,"Global\\CSAPP");
while(1)
{
    WaitForSingleObject(hEvent);
    ...
}

В другом процессе:

HANDLE hEvent=OpenEvent(...,"Global\\CSAPP");
SetEvent(hEvent);

1 Ответ

3 голосов
/ 27 сентября 2011

Вы, вероятно, ищете названный семафор .

int initial = 0;
sem_t *sem = sem_open("/global_name", O_CREAT, 0644, initial);

/* Down ("Wait"). */
sem_wait(sem);

/* Up ("Set") . */
sem_post(sem);    
...