main.c File Reference
`#include <config.h>`
`#include <pthread.h>`
`#include <assert.h>`
`#include <sys/types.h>`
`#include <sys/file.h>`
`#include <sys/poll.h>`
`#include <sys/uio.h>`
`#include <sys/mman.h>`
`#include <sys/socket.h>`
`#include <sys/un.h>`
`#include <sys/time.h>`
`#include <sys/resource.h>`
`#include <sys/stat.h>`
`#include <netinet/in.h>`
`#include <arpa/inet.h>`
`#include <unistd.h>`
`#include <fcntl.h>`
`#include <stdlib.h>`
`#include <stdio.h>`
`#include <errno.h>`
`#include <signal.h>`
`#include <sched.h>`
`#include <time.h>`
`#include <semaphore.h>`
`#include <string.h>`
`#include <qb/qbdefs.h>`
`#include <qb/qblog.h>`
`#include <qb/qbloop.h>`
`#include <qb/qbutil.h>`
`#include <qb/qbipcs.h>`
`#include <corosync/swab.h>`
`#include <corosync/corotypes.h>`
`#include <corosync/corodefs.h>`
`#include <corosync/totem/totempg.h>`
`#include <corosync/logsys.h>`
`#include <corosync/icmap.h>`
`#include "quorum.h"`
`#include "totemsrp.h"`
`#include "logconfig.h"`
`#include "totemconfig.h"`
`#include "main.h"`
`#include "sync.h"`
`#include "timer.h"`
`#include "util.h"`
`#include "apidef.h"`
`#include "service.h"`
`#include "schedwrk.h"`
`#include "ipcs_stats.h"`
`#include "stats.h"`
Include dependency graph for main.c:

Go to the source code of this file.

## Data Structures

struct | sending_allowed_private_data_struct
struct | scheduler_pause_timeout_data

## Macros

#define | IPC_LOGSYS_SIZE 8192*128
#define | SERVER_BACKLOG 5
#define | LOCALHOST_IP inet_addr("127.0.0.1")
#define | RLIMIT_MEMLOCK RLIMIT_VMEM

## Enumerations

enum | move_to_root_cgroup_mode { MOVE_TO_ROOT_CGROUP_MODE_OFF = 0 , MOVE_TO_ROOT_CGROUP_MODE_ON = 1 , MOVE_TO_ROOT_CGROUP_MODE_AUTO = 2 }

## Functions

| LOGSYS_DECLARE_SYSTEM ("corosync", LOGSYS_MODE_OUTPUT_STDERR|LOGSYS_MODE_OUTPUT_SYSLOG, LOG_DAEMON, LOG_EMERG)
| LOGSYS_DECLARE_SUBSYS ("MAIN")
qb_loop_t * | cs_poll_handle_get (void)
int | cs_poll_dispatch_add (qb_loop_t *handle, int fd, int events, void *data, int(*dispatch_fn)(int fd, int revents, void *data))
int | cs_poll_dispatch_delete (qb_loop_t *handle, int fd)
void | corosync_state_dump (void)
const char * | corosync_get_config_file (void)
void | corosync_shutdown_request (void)
int | main_mcast (const struct iovec *iovec, unsigned int iov_len, unsigned int guarantee)
void | corosync_recheck_the_q_level (void *data)
int | corosync_sending_allowed (unsigned int service, unsigned int id, const void *msg, void *sending_allowed_private_data)
void | corosync_sending_allowed_release (void *sending_allowed_private_data)
int | message_source_is_local (const mar_message_source_t *source)
void | message_source_set (mar_message_source_t *source, void *conn)
int | main (int argc, char **argv, char **envp)

## Variables

struct sched_param | global_sched_param

## Macro Definition Documentation

## IPC_LOGSYS_SIZE

#define IPC_LOGSYS_SIZE 8192*128

Definition at line 133 of file main.c.

## LOCALHOST_IP

#define LOCALHOST_IP inet_addr("127.0.0.1")

Definition at line 284 of file main.c.

## RLIMIT_MEMLOCK

#define RLIMIT_MEMLOCK RLIMIT_VMEM

## SERVER_BACKLOG

#define SERVER_BACKLOG 5

Definition at line 148 of file main.c.

## Enumeration Type Documentation

## move_to_root_cgroup_mode

enum move_to_root_cgroup_mode

Enumerator
MOVE_TO_ROOT_CGROUP_MODE_OFF |
MOVE_TO_ROOT_CGROUP_MODE_ON |
MOVE_TO_ROOT_CGROUP_MODE_AUTO |

Definition at line 172 of file main.c.

## Function Documentation

## corosync_get_config_file()

const char * corosync_get_config_file | ( | void |  | ) |

Definition at line 212 of file main.c.

## corosync_recheck_the_q_level()

void corosync_recheck_the_q_level | ( | void * | data | ) |

Definition at line 723 of file main.c.

References corosync_recheck_the_q_level(), cs_ipcs_q_level_get(), cs_poll_handle_get(), TOTEM_Q_LEVEL_CRITICAL, and totempg_check_q_level().

Referenced by corosync_recheck_the_q_level().

## corosync_sending_allowed()

int corosync_sending_allowed | ( | unsigned int | service,
|  | unsigned int | id,
|  | const void * | msg,
|  | void * | sending_allowed_private_data
| ) |  |

Definition at line 737 of file main.c.

References corosync_quorum_is_quorate(), corosync_service, CS_LIB_ALLOW_INQUORATE, CS_LIB_FLOW_CONTROL_NOT_REQUIRED, header, sending_allowed_private_data_struct::reserved_msgs, and totempg_groups_joined_reserve().

## corosync_sending_allowed_release()

void corosync_sending_allowed_release | ( | void * | sending_allowed_private_data | ) |

Definition at line 785 of file main.c.

References sending_allowed_private_data_struct::reserved_msgs, and totempg_groups_joined_release().

## corosync_shutdown_request()

void corosync_shutdown_request | ( | void |  | ) |

Definition at line 258 of file main.c.

References corosync_service_unlink_all().

## corosync_state_dump()

void corosync_state_dump | ( | void |  | ) |

Definition at line 201 of file main.c.

References corosync_service, corosync_service_engine::exec_dump_fn, and SERVICES_COUNT_MAX.

## cs_poll_dispatch_add()

int cs_poll_dispatch_add | ( | qb_loop_t * | handle,
|  | int | fd,
|  | int | events,
|  | void * | data,
|  | int(*)(int fd, int revents, void *data) | dispatch_fn
| ) |  |

Definition at line 183 of file main.c.

## cs_poll_dispatch_delete()

int cs_poll_dispatch_delete | ( | qb_loop_t * | handle,
|  | int | fd
| ) |  |

Definition at line 196 of file main.c.

## cs_poll_handle_get()

qb_loop_t * cs_poll_handle_get | ( | void |  | ) |

Definition at line 178 of file main.c.

Referenced by corosync_recheck_the_q_level(), corosync_service_unlink_all(), corosync_service_unlink_and_exit(), corosync_timer_add_absolute(), corosync_timer_add_duration(), corosync_timer_delete(), corosync_timer_expire_time_get(), and cs_ipcs_init().

## LOGSYS_DECLARE_SUBSYS()

LOGSYS_DECLARE_SUBSYS | ( | "MAIN" |  | ) |

## LOGSYS_DECLARE_SYSTEM()

LOGSYS_DECLARE_SYSTEM | ( | "corosync" | ,
|  | LOGSYS_MODE_OUTPUT_STDERR| | LOGSYS_MODE_OUTPUT_SYSLOG,
|  | LOG_DAEMON | ,
|  | LOG_EMERG |
| ) |  |

## main()

int main | ( | int | argc,
|  | char ** | argv,
|  | char ** | envp
| ) |  |

Definition at line 1284 of file main.c.

References _logsys_subsys_create(), apidef_get(), coroparse_configparse(), COROSYNC_DONE_DIR_NOT_PRESENT, COROSYNC_DONE_EXIT, COROSYNC_DONE_FATAL_ERR, COROSYNC_DONE_ICMAP, COROSYNC_DONE_LOGCONFIGREAD, COROSYNC_DONE_MAINCONFIGREAD, COROSYNC_DONE_STATS, corosync_exit_error, corosync_log_config_read(), CS_OK, get_state_dir(), icmap_get_global_map(), icmap_get_string(), icmap_init(), totem_logging_configuration::log_level_debug, totem_logging_configuration::log_level_error, totem_logging_configuration::log_level_notice, totem_logging_configuration::log_level_security, totem_logging_configuration::log_level_trace, totem_logging_configuration::log_level_warning, log_printf, totem_logging_configuration::log_printf, totem_logging_configuration::log_subsys_id, logsys_blackbox_postfork(), logsys_blackbox_prefork(), logsys_config_apply(), LOGSYS_LEVEL_DEBUG, LOGSYS_LEVEL_ERROR, LOGSYS_LEVEL_INFO, LOGSYS_LEVEL_NOTICE, LOGSYS_LEVEL_TRACE, LOGSYS_LEVEL_WARNING, LOGSYS_PERROR, logsys_system_fini(), logsys_thread_start(), MOVE_TO_ROOT_CGROUP_MODE_AUTO, MOVE_TO_ROOT_CGROUP_MODE_OFF, MOVE_TO_ROOT_CGROUP_MODE_ON, PACKAGE_FEATURES, schedwrk_init(), stats_map_init(), scheduler_pause_timeout_data::totem_config, TOTEM_CONFIG_BINDNETADDR_NODELIST_SET, totem_config_read(), totem_config_validate(), TOTEM_CONFIG_WARNING_MEMBERS_DEPRECATED, TOTEM_CONFIG_WARNING_MEMBERS_IGNORED, TOTEM_CONFIG_WARNING_TOTEM_NODEID_SET, totem_config::totem_logging_configuration, totem_config::totem_memb_ring_id_create_or_load, totem_config::totem_memb_ring_id_store, totempg_finalize(), totempg_groups_initialize(), totempg_groups_join(), totempg_initialize(), totempg_service_ready_register(), and VERSION.

## main_mcast()

int main_mcast | ( | const struct iovec * | iovec,
|  | unsigned int | iov_len,
|  | unsigned int | guarantee
| ) |  |

Definition at line 627 of file main.c.

References corosync_service, guarantee, icmap_fast_inc(), service_stats_tx, and totempg_groups_mcast_joined().

## message_source_is_local()

int message_source_is_local | ( | const mar_message_source_t * | source | ) |

Definition at line 796 of file main.c.

References totempg_my_nodeid_get().

## message_source_set()

void message_source_set | ( | mar_message_source_t * | source,
|  | void * | conn
| ) |  |

Definition at line 807 of file main.c.

References totempg_my_nodeid_get().

## Variable Documentation

## global_sched_param

struct sched_param global_sched_param

Definition at line 162 of file main.c.