pthread_mutex_trylock() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、この関数は失敗し、対応する値を返します。
EBUSY
説明:mutex が指している mutex はすでにロックされているため、獲得できません。
EAGAIN
説明:mutex に繰り返し行われたロック回数が最大数を超えるため、mutex を所有できません。
シンボル _POSIX_THREAD_PRIO_INHERIT が定義されていて、mutex がプロトコル属性値 PTHREAD_PRIO_INHERIT で初期化されています。さらに、pthread_mutexattr_setrobust_np() の引数 robustness が PTHREAD_MUTEX_ROBUST_NP の場合、この関数は失敗し、次のいずれかの値を返します。
EOWNERDEAD
説明:「pthread_mutex_lock の戻り値」の説明を参照してください。
ENOTRECOVERABLE
説明:「pthread_mutex_lock の戻り値」の説明を参照してください。
ENOMEM
説明:同時に保持される mutex の上限数を超えています。