extern THREAD_LOCAL char *logline_rfc5424;
-/*
- * Initializes some log data.
- */
-void init_log();
-
-
/* Initialize/Deinitialize log buffers used for syslog messages */
int init_log_buffers();
void deinit_log_buffers();
void signal_handler(int sig);
void __signal_process_queue();
-int signal_init();
void deinit_signals();
struct sig_handler *signal_register_fct(int sig, void (*fct)(struct sig_handler *), int arg);
struct sig_handler *signal_register_task(int sig, struct task *task, int reason);
struct stream *stream_new(struct session *sess, enum obj_type *origin);
int stream_create_from_cs(struct conn_stream *cs);
-/* perform minimal intializations, report 0 in case of error, 1 if OK. */
-int init_stream();
-
/* kill a stream and set the termination flags to <why> (one of SF_ERR_*) */
void stream_shutdown(struct stream *stream, int why);
*/
int wake_expired_tasks();
-/* Perform minimal initializations, report 0 in case of error, 1 if OK. */
-int init_task();
-
#endif /* _PROTO_TASK_H */
/*
srandom(now_ms - getpid());
- init_log();
- signal_init();
if (init_acl() != 0)
exit(1);
- init_task();
- init_stream();
+
/* warning, we init buffers later */
if (!init_http(&err_msg)) {
ha_alert("%s. Aborting.\n", err_msg);
} while(0)
-/* Initializes some log data.
- */
-void init_log()
+/* Initializes some log data at boot */
+static void init_log()
{
char *tmp;
int i;
FD_SET(0x7f, http_encode_map);
}
+INITCALL0(STG_PREPARE, init_log);
+
static int init_log_buffers_per_thread()
{
return init_log_buffers();
ha_sigmask(SIG_SETMASK, &old_sig, NULL);
}
-/* perform minimal intializations, report 0 in case of error, 1 if OK. */
-int signal_init()
+/* perform minimal intializations */
+static void signal_init()
{
int sig;
sigdelset(&blocked_sig, SIGSEGV);
for (sig = 0; sig < MAX_SIGNAL; sig++)
LIST_INIT(&signal_state[sig].handlers);
-
- return 1;
}
/*
signal(sig, SIG_IGN);
}
+
+INITCALL0(STG_PREPARE, signal_init);
DECLARE_POOL(pool_head_stream, "stream", sizeof(struct stream));
-struct list streams;
+struct list streams = LIST_HEAD_INIT(streams);
__decl_spinlock(streams_lock);
/* List of all use-service keywords. */
offer_buffers(s, tasks_run_queue);
}
-/* perform minimal intializations, report 0 in case of error, 1 if OK. */
-int init_stream()
-{
- LIST_INIT(&streams);
-
- return 1;
-}
-
void stream_process_counters(struct stream *s)
{
struct session *sess = s->sess;
}
}
-/* perform minimal intializations, report 0 in case of error, 1 if OK. */
-int init_task()
+/* perform minimal intializations */
+static void init_task()
{
int i;
for (i = 0; i < MAX_THREADS; i++) {
LIST_INIT(&task_per_thread[i].task_list);
}
- return 1;
}
+INITCALL0(STG_PREPARE, init_task);
+
/*
* Local variables:
* c-indent-level: 8