sem_wait()失败,错误:success

时间:2015-04-09 00:32:00

标签: c++ process synchronization posix semaphore

尝试使用信号量同步unix上的进程,sem_wait()失败并出现错误"成功"。

我有3个进程,每个进程运行相同的代码:

while( sem_wait( &sem ) == -1 );
    if( errno != EINTR )
    {
        perror("Failed to lock semaphore");
    }
/* critical section */
while( sem_post( &sem ) < 0 )
    {
        perror("Failed to unlock semaphore");
    }
在创建子进程之前(和之后),在父进程中调用

sem_init()sem_destroy()。结果是:

Failed to lock semaphore: Success
Failed to lock semaphore: Success
Failed to lock semaphore: Success

sem_wait()失败了吗?如果确实如此,为什么会说&#34;成功&#34;?

0 个答案:

没有答案