Code review comment for ~epics-core/epics-base/+git/Com:thread-join

Revision history for this message
Andrew Johnson (anj) wrote :

taskWait( )

NAME

taskWait( ) - wait for task to terminate

SYNOPSIS

STATUS taskWait
    (
    TASK_ID tid, /* task id */
    _Vx_ticks_t timeout /* timeout */
    )

DESCRIPTION

This routine will wait/pend until a task has been terminated.

WARNING

This routine may not be used from interrupt level

SMP CONSIDERATIONS

This API is spinlock and intCpuLock restricted. These restrictions are not enforced by the implementation so it is the responsibility of the caller to ensure they are complied with. Future implementations may enforce these restrictions.

RETURNS

OK when timeout or done waiting for task to be destroyed, ERROR on
         failure

ERRNO

S_intLib_NOT_ISR_CALLABLE
    Routine is not callable from an ISR.

S_taskLib_ILLEGAL_OPERATION
    Cannot wait on self

S_objLib_OBJ_ID_ERROR
    Invalid task ID

I think it may also set errno to one of these (NO_WAIT is a macro used for 0 ticks, WAIT_FOREVER is its counterpart):

S_objLib_OBJ_TIMEOUT
    Timeout occured while pending on sempahore.

S_objLib_OBJ_UNAVAILABLE
    Would have blocked but NO_WAIT was specified.

« Back to merge proposal