2121
2222static struct context * contexts ;
2323
24- static void config_init ()
24+ void config_init ()
2525{
2626 memset (config .cluster , 0 , CLUSTER_NAME_SIZE + 1 );
2727 strncpy (config .cluster , "default" , CLUSTER_NAME_SIZE );
@@ -40,17 +40,18 @@ static void config_init()
4040 config .metric_interval = 10 ;
4141}
4242
43- static int config_add (char * name , char * value )
43+ int config_add (char * name , char * value )
4444{
4545 int val ;
4646 if (strcmp (name , "cluster" ) == 0 ) {
4747 if (strlen (value ) <= 0 ) return 0 ;
4848 strncpy (config .cluster , value , CLUSTER_NAME_SIZE );
4949 } else if (strcmp (name , "bind" ) == 0 ) {
50- config .bind = atoi (value );
51- if (config .bind > 0xFFFF ) return -1 ;
50+ if (socket_parse_port (value , & config .bind ) == CORVUS_ERR ) {
51+ return CORVUS_ERR ;
52+ }
5253 } else if (strcmp (name , "syslog" ) == 0 ) {
53- config .syslog = atoi (value );
54+ config .syslog = atoi (value ) ? 1 : 0 ;
5455 } else if (strcmp (name , "thread" ) == 0 ) {
5556 config .thread = atoi (value );
5657 if (config .thread <= 0 ) config .thread = 4 ;
@@ -106,7 +107,7 @@ static int config_add(char *name, char *value)
106107 return 0 ;
107108}
108109
109- static int read_conf (const char * filename )
110+ int read_conf (const char * filename )
110111{
111112 FILE * fp = fopen (filename , "r" );
112113 if (fp == NULL ) {
@@ -137,7 +138,7 @@ static int read_conf(const char *filename)
137138 return 0 ;
138139}
139140
140- static void quit ()
141+ void quit ()
141142{
142143 if (config .stats ) stats_kill ();
143144
@@ -155,7 +156,7 @@ static void quit()
155156 }
156157}
157158
158- static void log_traceback ()
159+ void log_traceback ()
159160{
160161 void * stack [64 ];
161162 char * * symbols ;
@@ -185,7 +186,7 @@ static void log_traceback()
185186 exit (EXIT_FAILURE );
186187}
187188
188- static void sig_handler (int sig )
189+ void sig_handler (int sig )
189190{
190191 switch (sig ) {
191192 case SIGINT :
@@ -198,7 +199,7 @@ static void sig_handler(int sig)
198199 }
199200}
200201
201- static void setup_signal ()
202+ void setup_signal ()
202203{
203204 struct sigaction act ;
204205 sigemptyset (& act .sa_mask );
@@ -224,18 +225,15 @@ struct context *get_contexts()
224225 return contexts ;
225226}
226227
227- void context_init (struct context * ctx , bool syslog , int log_level )
228+ void context_init (struct context * ctx )
228229{
229230 memset (ctx , 0 , sizeof (struct context ));
230231
231- ctx -> syslog = syslog ;
232- ctx -> log_level = log_level ;
233232 dict_init (& ctx -> server_table );
234233 ctx -> started = false;
235234 ctx -> role = THREAD_UNKNOWN ;
236235 ctx -> state = CTX_UNKNOWN ;
237236 mbuf_init (ctx );
238- log_init (ctx );
239237
240238 STAILQ_INIT (& ctx -> free_cmdq );
241239 TAILQ_INIT (& ctx -> servers );
@@ -375,7 +373,7 @@ int main(int argc, const char *argv[])
375373
376374 contexts = malloc (sizeof (struct context ) * (config .thread + 1 ));
377375 for (i = 0 ; i <= config .thread ; i ++ ) {
378- context_init (& contexts [i ], config . syslog , config . loglevel );
376+ context_init (& contexts [i ]);
379377 contexts [i ].role = THREAD_UNKNOWN ;
380378 }
381379
0 commit comments