Lock OCB I/O function handler

Prototype:

int (*lock_ocb) ( resmgr_context_t *ctp,
                 void *reserved,
                 RESMGR_OCB_T *ocb ) 

Classification:

I/O (synthesized by library)

Default handler:

iofunc_lock_ocb_default()

Helper functions:

none

Client functions:

all

Messages:

none—synthesized by library

Data structure:

none

Description:

This function is responsible for locking the attributes structure pointed to by the OCB. This is done to ensure that only one thread at a time is operating on both the OCB and the corresponding attributes structure. The lock (and corresponding unlock) functions are synthesized by the resource manager library before and after completion of message handling. See the section on “Combine messages” above for more details. You'll almost never use this outcall yourself; instead, use the POSIX-layer default function.

Returns:

The status via the helper macro _RESMGR_STATUS().

Referenced by:

resmgr_io_funcs_t I/O table

Permission checking:

The default implementation iofunc_lock_ocb_default() does not do any permission checking and has no helper function. No permission checking is required.