Пример #1
0
/**
 * create a global context
 */
chassis *chassis_new() {
    chassis *chas;
    gint ret = 0;

    if (0 != chassis_check_version(event_get_version(), _EVENT_VERSION)) {
        g_critical("%s: chassis is build against libevent %s, but now runs against %s",
                G_STRLOC, _EVENT_VERSION, event_get_version());
        return NULL;
    }

    chas = g_new0(chassis, 1);

    chas->modules = g_ptr_array_new();
    
    chas->stats = chassis_stats_new();

    /* create a new global timer info */
    chassis_timestamps_global_init(NULL);

    chas->threads = g_ptr_array_new();

    chas->event_hdr_version = g_strdup(_EVENT_VERSION);

    chas->shutdown_hooks = chassis_shutdown_hooks_new();

    chas->proxy_filter = sql_filter_new(0);
    chas->proxy_reserved = sql_reserved_query_new();

    chas->daemon_mode = 0;
    chas->max_files_number = 0;
    chas->auto_restart = 0;

    chas->opts = NULL;//need to free

    if (0 != ret) {
        g_critical("create thread exit semphore failed. %s", G_STRLOC);
        return NULL;
    }

    return chas;
}
Пример #2
0
/**
 * create a global context
 */
chassis *chassis_new() {
    chassis *chas;

    if (0 != chassis_check_version(event_get_version(), _EVENT_VERSION)) {
        g_log_dbproxy(g_critical, "chassis is build against libevent %s, but now runs against %s", _EVENT_VERSION, event_get_version());
        return NULL;
    }

    chas = g_new0(chassis, 1);

    chas->modules = g_ptr_array_new();
    
    chas->stats = chassis_stats_new();

    /* create a new global timer info */
    chassis_timestamps_global_init(NULL);

    chas->threads = g_ptr_array_new();

    chas->event_hdr_version = g_strdup(_EVENT_VERSION);

    chas->shutdown_hooks = chassis_shutdown_hooks_new();

    chas->proxy_filter = sql_filter_new(0);
    chas->proxy_reserved = sql_reserved_query_new();

    chas->daemon_mode = 0;
    chas->max_files_number = 0;
    chas->auto_restart = 0;

    chas->opts = NULL;//need to free

    chas->db_connect_timeout = 3.0;//default timeout 3.0s

    return chas;
}