Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Remote Shared Memory Library Functionsrsm_intr_signal_post(3RSM)


NAME

 rsm_intr_signal_post, rsm_intr_signal_wait - signal or wait for an event

SYNOPSIS

 
cc [flags...] file... -lrsm [library...]
#include <rsmapi.h> 
int rsm_intr_signal_post(void *memseg, uint_t flags);
 int rsm_intr_signal_wait(void *memseg, int timeout);

DESCRIPTION

 

The rsm_intr_signal_post() and rsm_intr_signal_wait() functions are event functions that allow synchronization between importer processes and exporter processes. A process may block to wait for an event occurance by calling rsm_intr_signal_wait(). A process can signal a waiting process when an event occurs by calling rsm_intr_signal_post().

The rsm_intr_signal_post() function signals an event occurance. Either an import segment handle (rsm_memseg_import_handle_t) or an export segment handle (rsm_memseg_export_handle_t) may be type cast to a void pointer for the memseg argument. If memseg refers to an import handle, the exporting process is signalled. If memseg refers to an export handle, all importers of that segment are signalled. The flags argument may be set to RSM_SIGPOST_NO_ACCUMULATE; this will cause this event to be discarded if an event is already pending for the target segment.

The rsm_intr_signal_wait() function allows a process to block and wait for an event occurance. Either an import segment handle (rsm_memseg_import_handle_t) or an export segment handle (rsm_memseg_export_handle_t) may be type cast to a void pointer for the memseg argument. The process blocks for up to timeout milliseconds for an event to occur; if the timeout value is -1, the process blocks until an event occurs or until interrupted.

RETURN VALUES

 

Upon successful completion, these functions return 0. Otherwise, an error value is returned to indicate the error.

ERRORS

 

The rsm_intr_signal_post() and rsm_intr_signal_wait() functions can return the following error:

RSMERR_BAD_SEG_HNDL
Invalid segment handle.

The rsm_intr_signal_post() function can return the following error:

RSMERR_REMOTE_NODE_UNREACHABL
Remote node not reachable.

The rsm_intr_signal_wait() function can return the following errors:

RSMERR_TIMEOUT
Timer expired.
RSMERR_INTERRUPTED
Wait interrupted.

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface StabilityEvolving
MT-LevelMT-Safe

SEE ALSO

 

rsm_memseg_get_pollfd(3RSM), attributes(5)


SunOS 5.9Go To TopLast Changed 8 Jun 2001

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.