diff options
Diffstat (limited to 'sdpd/main.c')
| -rw-r--r-- | sdpd/main.c | 21 | 
1 files changed, 19 insertions, 2 deletions
| diff --git a/sdpd/main.c b/sdpd/main.c index 7e97d3f9..1154547b 100644 --- a/sdpd/main.c +++ b/sdpd/main.c @@ -51,6 +51,11 @@ static void sig_hup(int sig)  {  } +static void sig_debug(int sig) +{ +	toggle_debug(); +} +  static void usage(void)  {  	printf("sdpd - SDP daemon ver %s\n", VERSION); @@ -72,14 +77,18 @@ int main(int argc, char *argv[])  	struct sigaction sa;  	uint16_t mtu = 0;  	uint32_t flags = SDP_SERVER_COMPAT; -	int opt, daemonize = 1; +	int opt, daemonize = 1, debug = 0; -	while ((opt = getopt_long(argc, argv, "nm:pM", main_options, NULL)) != -1) { +	while ((opt = getopt_long(argc, argv, "ndm:pM", main_options, NULL)) != -1) {  		switch (opt) {  		case 'n':  			daemonize = 0;  			break; +		case 'd': +			debug = 1; +			break; +  		case 'm':  			mtu = atoi(optarg);  			break; @@ -115,10 +124,18 @@ int main(int argc, char *argv[])  	sa.sa_handler = sig_hup;  	sigaction(SIGHUP, &sa, NULL); +	sa.sa_handler = sig_debug; +	sigaction(SIGUSR2, &sa, NULL); +  	sa.sa_handler = SIG_IGN;  	sigaction(SIGCHLD, &sa, NULL);  	sigaction(SIGPIPE, &sa, NULL); +	if (debug) { +		info("Enabling debug information"); +		enable_debug(); +	} +  	event_loop = g_main_loop_new(NULL, FALSE);  	if (start_sdp_server(mtu, flags) < 0) { | 
