flux_get_reactor(3)

SYNOPSIS

#include <flux/core.h>

flux_reactor_t *flux_get_reactor (flux_t *h);

int flux_set_reactor (flux_t *h, flux_reactor_t *r);

DESCRIPTION

flux_get_reactor() retrieves a flux_reactor_t object previously associated with the broker handle h by a call to flux_set_reactor(). If one has not been previously associated, a flux_reactor_t object is created on demand. If the flux_reactor_t object is created on demand, it will be destroyed when the handle is destroyed, otherwise it is the responsibility of the owner to destroy it after the handle is destroyed.

flux_set_reactor() associates a flux_reactor_t object r with a broker handle h. A flux_reactor_t object may be obtained from another handle, for example when events from multiple handles are to be managed using a common flux_reactor_t, or one may be created directly with flux_reactor_create(3). flux_set_reactor() should be called immediately after flux_open(3) to avoid conflict with other API calls which may internally call flux_get_reactor().

RETURN VALUE

flux_get_reactor() returns a flux_reactor_t object on success. On error, NULL is returned, and errno is set appropriately.

flux_set_reactor() returns 0 on success, or -1 on failure with errno set appropriately.

ERRORS

ENOMEM
Out of memory.
EEXIST
Handle already has a reactor association.

SEE ALSO

flux_reactor_create(3), flux_reactor_destroy(3)