sp が指すセマフォーに関連付けられた状態を削除するには、sema_destroy(3C) を使用します。セマフォーの記憶領域は解放されません。
#include <thread.h> int sema_destroy(sema_t *sp);
sema_destroy() は、正常終了時に 0 を返します。次の条件が検出された場合、sema_destroy() は失敗し、対応する値を返します。
EINVAL
sp が無効なセマフォーを参照しています。