使用 mutex_lock(3C) 可以锁定 mp 所指向的互斥锁。如果该互斥锁已经锁定,调用线程将会阻塞,直到该互斥锁成为可用为止。调用线程会在具有优先级的队列中等待。对于 POSIX 线程,请参见pthread_mutex_lock 语法。
#include <thread.h> int mutex_lock(mutex_t *mp);
mutex_lock() 在成功运行后返回 0。如果检测到以下任一情况,mutex_lock() 将失败并返回对应的值。
EFAULT
描述:mp 指向的地址非法。
EDEADLK
描述:互斥锁已经锁定并且由调用线程拥有。