【发布时间】:2015-11-09 18:26:31
【问题描述】:
我正在尝试在 linux 中执行 C 程序,但出现“P_Semaphore :Invalid argument error no :22”错误,有人可以帮忙
Int P_Semaphore(int i_sem_id)
{
int i_code_returns;
struct sembuf t_semop;
#ifdef TRACE
Debug(N_DEBUG_8, "P_Semaphore", "Entree, i_sem_id=%d<<<<<<\n", i_sem_id);
#endif
t_semop.sem_num = 0;
t_semop.sem_op = -1;
t_semop.sem_flg = 0;
do
{
i_code_retour = semop(i_sem_id, &t_semop, 0);
} while ((i_code_returns == KO) && (errno == EINTR));
if (i_code_retour == KO)
{
printf( "%s(%d):Error semaphore making attempt %d,errno = %d\n", M_HEADER, i_sem_id, errno);
perror("P_Semaphore");
}
【问题讨论】: