RoadRunner Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
#define RR_ERROR enum RRError; GQuark rr_error_quark (void); gboolean rr_init (gint *argc, gchar ***argv, GError **error); gboolean rr_exit (GError **error); gboolean rr_quit (GError **error); gboolean rr_wait_until_done (GError **error); void rr_set_max_work_threads (int max); gint rr_get_max_work_threads (void); void rr_main_work_pool_push (RRWPGroup gid, GFunc func, gpointer data, gpointer user_data); void rr_main_work_pool_join (RRWPGroup gid); GMainContext* rr_get_main_context (void); |
typedef enum { RR_ERROR_OTHER, RR_ERROR_GETHOSTBYNAME, RR_ERROR_CONNECT, RR_ERROR_NOT_READY, RR_ERROR_DISCONNECTED, RR_ERROR_BIND, RR_ERROR_LISTEN, RR_ERROR_SOCKET } RRError; |
gboolean rr_init (gint *argc, gchar ***argv, GError **error); |
Initializes RoadRunner and starts the event thread.
argc : | a pointer to argc or NULL. |
argv : | a pointer to argv or NULL. |
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
gboolean rr_exit (GError **error); |
Terminates the RoadRunner event thread and free the resources allocated by rr_init.
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
gboolean rr_quit (GError **error); |
Terminates the main loop. This will unblock rr_wait_until_done.
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
gboolean rr_wait_until_done (GError **error); |
Blocks until the RoadRunner event loop is done. (when rr_quit is called).
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
void rr_set_max_work_threads (int max); |
Sets the maximum number of threads roadrunner will use. This function should be called before rr_init.
max : | maximum number of threads. |
gint rr_get_max_work_threads (void); |
Returns the maximum number of threads that roadrunner will use.
Returns : | the number of threads. |
void rr_main_work_pool_push (RRWPGroup gid, GFunc func, gpointer data, gpointer user_data); |
Inserts func to the list of task to be executed by the roadrunner wide work pool. The work pool guarantees that two or more tasks with the same gid will never be executed in parallel.
gid : | a thread group id. |
func : | a function to execute by one thread in the work pool. |
data : | first argument to func |
user_data : | second argument to func |
void rr_main_work_pool_join (RRWPGroup gid); |
blocks until all tasks in the roadrunner global work pool of the given gid are executed.
gid : | a thread group id |