私は GCC 4.4.1 (ISO C99) を使用してコンパイルされたプログラムを使用してきましたが、今日この奇妙なことに気付きました。ターゲット上で問題なく動作しますが、コンパイラは -Wall で警告を発しません。
void mutex_init(mutex_t *mutex)
{
if(unlikely(mutex->magic == MUTX_MAGIC_CHAR))
return;
mutex->owner = NULL;
mutex->prior = NULL;
mutex->magic = MUTX_MAGIC_CHAR;
thread_queue_init(&mutex->queue);
}
みたいにならないかな
*mutex->owner = NULL;