Purpose
Waits for
a counter update without polling.
Library
Availability
Library (liblapi_r.a)
C Syntax
#include <lapi.h>
void LAPI_Nopoll_wait(hndl, cntr_ptr, val, cur_cntr_val)
lapi_handle_t hndl;
lapi_cntr_t *cntr_ptr;
int val;
int *cur_cntr_val;
FORTRAN Syntax
include 'lapif.h'
int LAPI_NOPOLL_WAIT(hndl, cntr, val, cur_cntr_val, ierror)
INTEGER hndl
TYPE (LAPI_CNTR_T) :: cntr
INTEGER val
INTEGER cur_cntr_val
INTEGER ierror
Description
Type
of call: recovery (blocking)
This subroutine
waits for a counter update without polling (that is, without explicitly
invoking LAPI's internal communication dispatcher). This call may
or may not check for message arrivals over the LAPI context hndl.
The cur_cntr_val variable is set to the
current counter value. Although it has higher latency than LAPI_Waitcntr, LAPI_Nopoll_wait frees
up the processor for other uses.
Note: To use this
subroutine, the lib_vers field in the lapi_info_t structure
must be set to L2_LIB or LAST_LIB.
Parameters
- INPUT
- hndl
- Specifies the LAPI handle.
- val
- Specifies the relative counter value (starting from 1)
that the counter needs to reach before returning.
- cur_cntr_val
- Specifies the integer value of the current counter. The value
of The value of this parameter can be NULL (in C) or LAPI_ADDR_NULL (in
FORTRAN).
- INPUT/OUTPUT
- cntr_ptr
- Points to the lapi_cntr_t structure
in C.
- cntr
- Is the lapi_cntr_t structure in FORTRAN.
- OUTPUT
- ierror
- Specifies a FORTRAN return code. This is always the last parameter.
Return Values
- LAPI_SUCCESS
- Indicates that the function call completed successfully.
- LAPI_ERR_CNTR_NULL
- Indicates that the cntr_ptr pointer
is NULL (in C) or that the value of cntr is LAPI_ADDR_NULL (in
FORTRAN).
- LAPI_ERR_CNTR_VAL
- Indicates that the val passed in is
less than or equal to 0.
- LAPI_ERR_HNDL_INVALID
- Indicates that the hndl passed in is
not valid (not initialized or in terminated state).
- LAPI_ERR_MULTIPLE_WAITERS
- Indicates that more than one thread is waiting for the counter.
- LAPI_ERR_TGT_PURGED
- Indicates that the subroutine returned early because LAPI_Purge_totask() was
called.
Restrictions
Use
of this subroutine is not recommended on a system that is running
Parallel Environment (PE).
Location
- /usr/lib/liblapi_r.a