...
void OSMutexDel (OS_MUTEX *p_mutex,
...
OS_OPT opt,
...
OS_ERR *p_err)
...
...
File |
...
Called from |
...
Code enabled by |
...
...
|
...
Task only |
...
...
|
...
OSMutexDel()
is used to delete a mutex. This function should be used with care because multiple tasks may rely on the presence of the mutex. Generally speaking, before deleting a mutex, first delete all the tasks that access the mutex. However, as a general rule, do not delete kernel objects at run-time.Arguments
...
p_mutex
Anchor
is a pointer to the mutex to delete.
Anchor
opt
specifies whether to delete the mutex only if there are no pending tasks (OS_OPT_DEL_NO_PEND
), or whether to always delete the mutex regardless of whether tasks are pending or not (OS_OPT_DEL_ALWAYS
). In this case, all pending tasks are readied.
...
p_err
Anchor
is a pointer to a variable that is used to hold an error code:
...
class | WebWorks_Indent_1 |
---|
...
OS_ERR_NONE
...
class | WebWorks_Indent_2 |
---|
...
if the call is successful and the mutex has been deleted.
...
...
OS_ERR_DEL_ISR
...
class | WebWorks_Indent_2 |
---|
...
...
if OS_CFG_CALLED_FROM_ISR_CHK_EN
set to 1
in os_cfg.h
: if attempting to delete a mutex from an ISR.
...
class | WebWorks_Indent_1 |
---|
...
OS_ERR_OBJ_PTR_NULL
...
...
if OS_CFG_ARG_CHK_EN
is set to 1
in os_cfg.h
: if p_mutex
is a NULL
pointer.
...
class | WebWorks_Indent_1 |
---|
...
OS_ERR_OBJ_TYPE
...
class | WebWorks_Indent_2 |
---|
...
if OS_CFG_OBJ_TYPE_CHK_EN
is set to 1
in os_cfg.h
: if p_mutex
is not pointing to a mutex.
...
class | WebWorks_Indent_1 |
---|
...
OS_ERR_OPT_INVALID
...
...
if the user does not specify one of the two options mentioned in the opt argument.
...
class | WebWorks_Indent_1 |
---|
...
OS_ERR_TASK_WAITING
...
class | WebWorks_Indent_2 |
---|
...
if one or more task are waiting on the mutex and OS_OPT_DEL_NO_PEND
is specified.
...
Returned Value
...
Notes/Warnings
Anchor
Example
...
rowspan | 16 |
---|
...