- globus_result_t globus_callback_space_init (globus_callback_space_t *
- space, globus_callback_space_attr_t attr)
Initialize a user space. This creates a user space.
- Parameters:
space storage for the initialized space handle. This must be
destroyed with globus_callback_space_destroy()
attr a space attr descibing desired behaviors. If GLOBUS_NULL, the
default behavior of GLOBUS_CALLBACK_SPACE_BEHAVIOR_SINGLE is
assumed. This attr is copied into the space, so it is acceptable to
destroy the attr as soon as it is no longer needed
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT on NULL space
o GLOBUS_CALLBACK_ERROR_MEMORY_ALLOC
o GLOBUS_SUCCESS
- See also:
globus_condattr_setspace()
- globus_result_t globus_callback_space_reference (globus_callback_space_t
- space)
Take a reference to a space. A library which has been 'given' a space
to provide callbacks on would use this to take a reference on the
user's space. This prevents mayhem should a user destroy a space before
the library is done with it. This reference should be destroyed with
globus_callback_space_destroy() (think dup())
- Parameters:
space space to reference
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_SPACE
o GLOBUS_SUCCESS
- globus_result_t globus_callback_space_destroy (globus_callback_space_t
- space)
Destroy a reference to a user space. This will destroy a reference to a
previously initialized space. Space will not actually be destroyed
until all callbacks registered with this space have been run and
unregistered (if the user has a handle to that callback) AND all
references (from globus_callback_space_reference()) have been
destroyed.
- Parameters:
space space to destroy, previously initialized by
globus_callback_space_init() or referenced with
globus_callback_space_reference()
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_SPACE
o GLOBUS_SUCCESS
- See also:
globus_callback_space_init()
globus_callback_space_reference()
- globus_result_t globus_callback_space_attr_init
- (globus_callback_space_attr_t * attr)
Initialize a space attr. Currently, the only attr to set is the
behavior. The default behavior associated with this attr is
GLOBUS_CALLBACK_SPACE_BEHAVIOR_SINGLE
- Parameters:
attr storage for the intialized attr. Must be destroyed with
globus_callback_space_attr_destroy()
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT on NULL attr
o GLOBUS_CALLBACK_ERROR_MEMORY_ALLOC
o GLOBUS_SUCCESS
- globus_result_t globus_callback_space_attr_destroy
- (globus_callback_space_attr_t attr)
Destroy a space attr. Parameters:
attr attr to destroy, previously initialized with
globus_callback_space_attr_init()
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT on NULL attr
o GLOBUS_SUCCESS
- See also:
globus_callback_space_attr_init()
- globus_result_t globus_callback_space_attr_set_behavior
- (globus_callback_space_attr_t attr, globus_callback_space_behavior_t
behavior)
Set the behavior of a space. Parameters:
attr attr to associate behavior with
behavior desired behavior
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT
o GLOBUS_SUCCESS
- See also:
globus_callback_space_behavior_t
- globus_result_t globus_callback_space_attr_get_behavior
- (globus_callback_space_attr_t attr, globus_callback_space_behavior_t *
behavior)
Get the behavior associated with an attr. Note: for a non-threaded
build, this will always pass back a behavior ==
GLOBUS_CALLBACK_SPACE_BEHAVIOR_SINGLE.
- Parameters:
attr attr on which to query behavior
behavior storage for the behavior
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT
o GLOBUS_SUCCESS
- globus_result_t globus_callback_space_get (globus_callback_space_t * space)
- Retrieve the space of a currently running callback. Parameters:
space storage for the handle to the space currently running
- Returns:
o GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT on NULL space
o GLOBUS_CALLBACK_ERROR_NO_ACTIVE_CALLBACK
o GLOBUS_SUCCESS
- int globus_callback_space_get_depth (globus_callback_space_t space)
- Retrieve the current nesting level of a space. Parameters:
space The space to query.
- Returns:
o the current nesting level
o -1 on invalid space
- globus_bool_t globus_callback_space_is_single (globus_callback_space_t
- space)
See if the specified space is a single threaded behavior space.
Parameters:
space the space to query
- Returns:
o GLOBUS_TRUE if space's behavior is _BEHAVIOR_SINGLE
o GLOBUS_FALSE otherwise