diff options
Diffstat (limited to 'ipc.c')
| -rw-r--r-- | ipc.c | 35 | 
1 files changed, 8 insertions, 27 deletions
| @@ -32,6 +32,7 @@  #endif  GSList *child_list = NULL; +static char *statefile = NULL;  static void ipc_master_cmd_client( irc_t *data, char **cmd )  { @@ -61,25 +62,6 @@ static void ipc_master_cmd_die( irc_t *data, char **cmd )  	bitlbee_shutdown( NULL, -1, 0 );  } -static void ipc_master_cmd_deaf( irc_t *data, char **cmd ) -{ -	if( global.conf->runmode == RUNMODE_DAEMON ) -	{ -		b_event_remove( global.listen_watch_source_id ); -		close( global.listen_socket ); -		 -		global.listen_socket = global.listen_watch_source_id = -1; -	 -		ipc_to_children_str( "OPERMSG :Closed listening socket, waiting " -		                     "for all users to disconnect." ); -	} -	else -	{ -		ipc_to_children_str( "OPERMSG :The DEAF command only works in " -		                     "normal daemon mode. Try DIE instead." ); -	} -} -  void ipc_master_cmd_rehash( irc_t *data, char **cmd )  {  	runmode_t oldmode; @@ -115,7 +97,6 @@ static const command_t ipc_master_commands[] = {  	{ "client",     3, ipc_master_cmd_client,     0 },  	{ "hello",      0, ipc_master_cmd_client,     0 },  	{ "die",        0, ipc_master_cmd_die,        0 }, -	{ "deaf",       0, ipc_master_cmd_deaf,       0 },  	{ "wallops",    1, NULL,                      IPC_CMD_TO_CHILDREN },  	{ "wall",       1, NULL,                      IPC_CMD_TO_CHILDREN },  	{ "opermsg",    1, NULL,                      IPC_CMD_TO_CHILDREN }, @@ -459,7 +440,6 @@ void ipc_child_disable()  	global.listen_socket = -1;  } -#ifndef _WIN32  char *ipc_master_save_state()  {  	char *fn = g_strdup( "/tmp/bee-restart.XXXXXX" ); @@ -500,6 +480,11 @@ char *ipc_master_save_state()  	}  } +void ipc_master_set_statefile( char *fn ) +{ +	statefile = g_strdup( fn ); +} +  static gboolean new_ipc_client( gpointer data, gint serversock, b_input_condition cond )  { @@ -520,6 +505,7 @@ static gboolean new_ipc_client( gpointer data, gint serversock, b_input_conditio  	return TRUE;  } +#ifndef _WIN32  int ipc_master_listen_socket()  {  	struct sockaddr_un un_addr; @@ -556,14 +542,10 @@ int ipc_master_listen_socket()  	return 1;  }  #else -int ipc_master_listen_socket() -{  	/* FIXME: Open named pipe \\.\BITLBEE */ -	return 0; -}  #endif -int ipc_master_load_state( char *statefile ) +int ipc_master_load_state()  {  	struct bitlbee_child *child;  	FILE *fp; @@ -571,7 +553,6 @@ int ipc_master_load_state( char *statefile )  	if( statefile == NULL )  		return 0; -	  	fp = fopen( statefile, "r" );  	unlink( statefile );	/* Why do it later? :-) */  	if( fp == NULL ) | 
