亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

而且只要返回一次22整個循環中就都是22一直到循環結束,高手幫忙看看這是什么錯誤?

而且只要返回一次22整個循環中就都是22一直到循環結束,高手幫忙看看這是什么錯誤?

C PHP
慕桂英3389331 2023-03-03 14:10:18
為了實現windows下WaitForSingleObject等待互斥體的功能我在Unix下寫了一個int WaitForSingleObject(pthread_mutex_t * mutex,int nMilliseconds){if (nMilliseconds == INFINITE){if (pthread_mutex_lock(mutex) != 0){printf("pthread_mutex_lock error errno = %d\n");return WAIT_FAILED;}return WAIT_OBJECT_0;} else {int nTime = nMilliseconds;do {int nRet = pthread_mutex_trylock(mutex);switch (nRet){case 0:return WAIT_OBJECT_0;case EBUSY:{Sleep(100);nTime -= 100;}break;default:{Sleep(100);nTime -= 100;}break;}}while ( 0 < nTime );return WAIT_TIMEOUT;}}其中pthread_mutex_lock沒有什么問題,pthread_mutex_trylock大多數時候也是正常的,但有時候pthread_mutex_trylock就返回22,為什么
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

#define EINVAL 22 /* Invalid argument */
看看你的mutex是不是在別處被干掉了

查看完整回答
反對 回復 2023-03-06
  • 1 回答
  • 0 關注
  • 95 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號