pacemaker  1.1.18-7fdfbbe
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs | Functions | Variables
mainloop.c File Reference
#include <crm_internal.h>
#include <stdlib.h>
#include <signal.h>
#include <errno.h>
#include <sys/wait.h>
#include <crm/crm.h>
#include <crm/common/xml.h>
#include <crm/common/mainloop.h>
#include <crm/common/ipcs.h>
#include <qb/qbarray.h>
Include dependency graph for mainloop.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 

Typedefs

typedef struct signal_s crm_signal_t
 

Functions

void mainloop_trigger_complete (crm_trigger_t *trig)
 
crm_trigger_tmainloop_add_trigger (int priority, int(*dispatch)(gpointer user_data), gpointer userdata)
 
void mainloop_set_trigger (crm_trigger_t *source)
 
gboolean mainloop_destroy_trigger (crm_trigger_t *source)
 
gboolean crm_signal (int sig, void(*dispatch)(int sig))
 
gboolean mainloop_add_signal (int sig, void(*dispatch)(int sig))
 
gboolean mainloop_destroy_signal (int sig)
 
void mainloop_cleanup (void)
 
qb_ipcs_service_t * mainloop_add_ipc_server (const char *name, enum qb_ipc_type type, struct qb_ipcs_service_handlers *callbacks)
 
void mainloop_del_ipc_server (qb_ipcs_service_t *server)
 
mainloop_io_tmainloop_add_ipc_client (const char *name, int priority, size_t max_size, void *userdata, struct ipc_client_callbacks *callbacks)
 
void mainloop_del_ipc_client (mainloop_io_t *client)
 
crm_ipc_tmainloop_get_ipc_client (mainloop_io_t *client)
 
mainloop_io_tmainloop_add_fd (const char *name, int priority, int fd, void *userdata, struct mainloop_fd_callbacks *callbacks)
 
void mainloop_del_fd (mainloop_io_t *client)
 
pid_t mainloop_child_pid (mainloop_child_t *child)
 
const char * mainloop_child_name (mainloop_child_t *child)
 
int mainloop_child_timeout (mainloop_child_t *child)
 
void * mainloop_child_userdata (mainloop_child_t *child)
 
void mainloop_clear_child_userdata (mainloop_child_t *child)
 
int mainloop_child_kill (pid_t pid)
 
void mainloop_child_add_with_flags (pid_t pid, int timeout, const char *desc, void *privatedata, enum mainloop_child_flags flags, void(*callback)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode))
 
void mainloop_child_add (pid_t pid, int timeout, const char *desc, void *privatedata, void(*callback)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode))
 
bool mainloop_timer_running (mainloop_timer_t *t)
 
void mainloop_timer_start (mainloop_timer_t *t)
 
void mainloop_timer_stop (mainloop_timer_t *t)
 
guint mainloop_timer_set_period (mainloop_timer_t *t, guint period_ms)
 
mainloop_timer_tmainloop_timer_add (const char *name, guint period_ms, bool repeat, GSourceFunc cb, void *userdata)
 
void mainloop_timer_del (mainloop_timer_t *t)
 

Variables

struct qb_ipcs_poll_handlers gio_poll_funcs
 
struct mainloop_timer_s mainloop
 

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 22 of file mainloop.c.

Typedef Documentation

typedef struct signal_s crm_signal_t

Function Documentation

gboolean crm_signal ( int  sig,
void(*)(int sig)  dispatch 
)

Definition at line 302 of file mainloop.c.

mainloop_io_t* mainloop_add_fd ( const char *  name,
int  priority,
int  fd,
void *  userdata,
struct mainloop_fd_callbacks callbacks 
)

Definition at line 810 of file mainloop.c.

mainloop_io_t* mainloop_add_ipc_client ( const char *  name,
int  priority,
size_t  max_size,
void *  userdata,
struct ipc_client_callbacks callbacks 
)

Definition at line 767 of file mainloop.c.

qb_ipcs_service_t* mainloop_add_ipc_server ( const char *  name,
enum qb_ipc_type  type,
struct qb_ipcs_service_handlers *  callbacks 
)

Definition at line 589 of file mainloop.c.

gboolean mainloop_add_signal ( int  sig,
void(*)(int sig)  dispatch 
)

Definition at line 327 of file mainloop.c.

crm_trigger_t* mainloop_add_trigger ( int  priority,
int(*)(gpointer user_data)  dispatch,
gpointer  userdata 
)

Definition at line 213 of file mainloop.c.

void mainloop_child_add ( pid_t  pid,
int  timeout,
const char *  desc,
void *  privatedata,
void(*)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode)  callback 
)

Definition at line 1131 of file mainloop.c.

void mainloop_child_add_with_flags ( pid_t  pid,
int  timeout,
const char *  desc,
void *  privatedata,
enum mainloop_child_flags  flags,
void(*)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode)  callback 
)

Definition at line 1097 of file mainloop.c.

int mainloop_child_kill ( pid_t  pid)

Definition at line 1042 of file mainloop.c.

const char* mainloop_child_name ( mainloop_child_t child)

Definition at line 876 of file mainloop.c.

pid_t mainloop_child_pid ( mainloop_child_t child)

Definition at line 870 of file mainloop.c.

int mainloop_child_timeout ( mainloop_child_t child)

Definition at line 882 of file mainloop.c.

void* mainloop_child_userdata ( mainloop_child_t child)

Definition at line 888 of file mainloop.c.

void mainloop_cleanup ( void  )

Definition at line 411 of file mainloop.c.

void mainloop_clear_child_userdata ( mainloop_child_t child)

Definition at line 894 of file mainloop.c.

void mainloop_del_fd ( mainloop_io_t client)

Definition at line 854 of file mainloop.c.

void mainloop_del_ipc_client ( mainloop_io_t client)

Definition at line 795 of file mainloop.c.

void mainloop_del_ipc_server ( qb_ipcs_service_t *  server)

Definition at line 619 of file mainloop.c.

gboolean mainloop_destroy_signal ( int  sig)

Definition at line 385 of file mainloop.c.

gboolean mainloop_destroy_trigger ( crm_trigger_t source)

Definition at line 233 of file mainloop.c.

crm_ipc_t* mainloop_get_ipc_client ( mainloop_io_t client)

Definition at line 801 of file mainloop.c.

void mainloop_set_trigger ( crm_trigger_t source)

Definition at line 225 of file mainloop.c.

mainloop_timer_t* mainloop_timer_add ( const char *  name,
guint  period_ms,
bool  repeat,
GSourceFunc  cb,
void *  userdata 
)

Definition at line 1221 of file mainloop.c.

void mainloop_timer_del ( mainloop_timer_t t)

Definition at line 1242 of file mainloop.c.

bool mainloop_timer_running ( mainloop_timer_t t)

Definition at line 1178 of file mainloop.c.

guint mainloop_timer_set_period ( mainloop_timer_t t,
guint  period_ms 
)

Definition at line 1204 of file mainloop.c.

void mainloop_timer_start ( mainloop_timer_t t)

Definition at line 1186 of file mainloop.c.

void mainloop_timer_stop ( mainloop_timer_t t)

Definition at line 1195 of file mainloop.c.

void mainloop_trigger_complete ( crm_trigger_t trig)

Definition at line 201 of file mainloop.c.

Variable Documentation

struct qb_ipcs_poll_handlers gio_poll_funcs
Initial value:
= {
.job_add = NULL,
.dispatch_add = gio_poll_dispatch_add,
.dispatch_mod = gio_poll_dispatch_mod,
.dispatch_del = gio_poll_dispatch_del,
}

Definition at line 556 of file mainloop.c.

struct mainloop_timer_s mainloop

Definition at line 1146 of file mainloop.c.