File master.c¶
FileList > cubrid > src > executables > master.c
Go to the source code of this file
#include "config.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <time.h>#include <sys/types.h>#include <sys/wait.h>#include <sys/time.h>#include <netdb.h>#include <sys/param.h>#include <sys/resource.h>#include <netinet/in.h>#include <unistd.h>#include <fcntl.h>#include <syslog.h>#include <pthread.h>#include "utility.h"#include "porting.h"#include "error_manager.h"#include "connection_globals.h"#include "client_support.h"#include "system_parameter.h"#include "tcp.h"#include "master_util.h"#include "master_request.h"#include "master_heartbeat.h"#include "environment_variable.h"#include "message_catalog.h"#include "dbi.h"#include "util_func.h"#include "master_server_monitor.hpp"
Public Attributes¶
| Type | Name |
|---|---|
| pthread_mutex_t | css_Master_er_log_enable_lock = [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout) |
| bool | css_Master_er_log_enabled = [**true**](broker__monitor_8c.md#function-timeout) |
| pthread_mutex_t | css_Master_er_log_lock = [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout) |
| SOCKET_QUEUE_ENTRY * | css_Master_socket_anchor = [**NULL**](freelistheap_8h.md#define-null) |
| pthread_mutex_t | css_Master_socket_anchor_lock |
| SOCKET | css_Master_socket_fd = { [**INVALID\_SOCKET**](porting_8h.md#define-invalid_socket), [**INVALID\_SOCKET**](porting_8h.md#define-invalid_socket) } |
| struct timeval * | css_Master_timeout = [**NULL**](freelistheap_8h.md#define-null) |
| int | css_Master_timeout_value_in_microseconds = 500 |
| int | css_Master_timeout_value_in_seconds = 4 |
| time_t | css_Start_time |
| int | css_Total_request_count = 0 |
Public Functions¶
| Type | Name |
|---|---|
| SOCKET_QUEUE_ENTRY * | css_add_request_to_socket_queue (CSS_CONN_ENTRY * conn_p, int info_p, char * name_p, SOCKET fd, int fd_type, int pid, SOCKET_QUEUE_ENTRY ** anchor_p) |
| void | css_master_cleanup (int sig) |
| void | css_remove_entry_by_conn (CSS_CONN_ENTRY * conn_p, SOCKET_QUEUE_ENTRY ** anchor_p) |
| SOCKET_QUEUE_ENTRY * | css_return_entry_by_conn (CSS_CONN_ENTRY * conn_p, SOCKET_QUEUE_ENTRY ** anchor_p) |
| SOCKET_QUEUE_ENTRY * | css_return_entry_of_server (char * name_p, SOCKET_QUEUE_ENTRY * anchor_p) |
| int | main (int argc, char ** argv) |
Public Static Functions¶
Public Attributes Documentation¶
variable css_Master_er_log_enable_lock¶
variable css_Master_er_log_enabled¶
variable css_Master_er_log_lock¶
variable css_Master_socket_anchor¶
variable css_Master_socket_anchor_lock¶
variable css_Master_socket_fd¶
variable css_Master_timeout¶
variable css_Master_timeout_value_in_microseconds¶
variable css_Master_timeout_value_in_seconds¶
variable css_Start_time¶
variable css_Total_request_count¶
Public Functions Documentation¶
function css_add_request_to_socket_queue¶
SOCKET_QUEUE_ENTRY * css_add_request_to_socket_queue (
CSS_CONN_ENTRY * conn_p,
int info_p,
char * name_p,
SOCKET fd,
int fd_type,
int pid,
SOCKET_QUEUE_ENTRY ** anchor_p
)
function css_master_cleanup¶
function css_remove_entry_by_conn¶
function css_return_entry_by_conn¶
SOCKET_QUEUE_ENTRY * css_return_entry_by_conn (
CSS_CONN_ENTRY * conn_p,
SOCKET_QUEUE_ENTRY ** anchor_p
)
function css_return_entry_of_server¶
function main¶
Public Static Functions Documentation¶
function crash_handler¶
function css_accept_new_request¶
static void css_accept_new_request (
CSS_CONN_ENTRY * conn,
unsigned short rid,
char * buffer,
int buffer_length,
bool is_client
)
function css_accept_old_request¶
static void css_accept_old_request (
CSS_CONN_ENTRY * conn,
unsigned short rid,
SOCKET_QUEUE_ENTRY * entry,
char * server_name,
int server_name_length
)
function css_accept_server_request¶
function css_check_master_socket_exception¶
function css_check_master_socket_input¶
function css_check_master_socket_output¶
function css_daemon_start¶
function css_enroll_exception_sockets¶
function css_enroll_master_exception_sockets¶
function css_enroll_master_read_sockets¶
function css_enroll_master_write_sockets¶
function css_enroll_read_sockets¶
function css_enroll_write_sockets¶
function css_free_entry¶
function css_master_error¶
function css_master_init¶
function css_master_loop¶
function css_master_select_error¶
function css_master_timeout¶
function css_process_new_connection¶
function css_register_new_server¶
function css_register_new_server2¶
function css_reject_client_request¶
function css_reject_server_request¶
function css_send_new_request_to_server¶
static bool css_send_new_request_to_server (
SOCKET server_fd,
SOCKET client_fd,
unsigned short rid,
CSS_SERVER_REQUEST request
)
function css_send_to_existing_server¶
static void css_send_to_existing_server (
CSS_CONN_ENTRY * conn,
unsigned short rid,
CSS_SERVER_REQUEST request
)
The documentation for this class was generated from the following file cubrid/src/executables/master.c