當我再次初始化同一互斥體變量時會發生什麼? 根據調用pthread_mutex_init()手冊頁 - http://linux.die.net/man/3/pthread_mutex_init再次初始化同一個互斥體
應該失敗,並將errno設置爲EBUSY
爲什麼我看不到這種行爲?下面的代碼執行得很好。
lock = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
if (pthread_mutex_init((pthread_mutex_t*)lock, NULL) != 0)
{
printf("\n mutex init failed\n");
return 1;
}
if (pthread_mutex_init((pthread_mutex_t*)lock, NULL) != 0)
{
printf("\n mutex init failed %d\n", errno);
return 1;
}
在此先感謝!
爲什麼要這樣做? –
我只是想刺激一個我在一個集成系統中獲得EBUSY的情況。 – Coder