- 論壇徽章:
- 0
|
最近做一項移植工作,將應用層從MIPS移植到POWER PC,但是在某個模塊的sem_wait函數(shù)上出錯了,寫了個測試程序:
代碼一:。。。 。。。
if(0 != sem_init(&test_t, 0, 0))
{
printf("sem_init failed!\n");
return -1;
}
if(0 != sem_post(&test_t))
{
printf("sem_post failed!\n");
return -1;
}
if(0 != sem_wait(&test_t))
{
printf("sem_wait failed! ");
return -1;
}
printf("I'm here!\n")
。。。 。。。
代碼二:。。。 。。。
if(0 != sem_init(&test_t, 0, 0))
{
printf("sem_init failed!\n");
return -1;
}
if(0 != sem_wait(&test_t))
{
printf("sem_wait failed! ");
return -1;
}
printf("I'm here!\n")
。。。 。。。
結果:
代碼一:
打。篒‘m here
代碼二:
打。簊em_wait failed!
后來獲取器錯誤碼,errno是38,錯誤提示是Function not implemented
問下各位,原本代碼二應該阻塞在sem_wait哪里,但它返回出錯了。這個錯大概是怎么造成的?編譯工具鏈的問題么?
在線等,謝謝! |
|