Author: mikej Date: Wed Apr 25 15:57:14 2007 New Revision: 5016 Modified: freeswitch/trunk/libs/xmlrpc-c/.update freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss.h freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/server.c freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/trace.c freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Log: resolve http://jira.freeswitch.org/browse/MDXMLINT-6 Modified: freeswitch/trunk/libs/xmlrpc-c/.update ============================================================================== --- freeswitch/trunk/libs/xmlrpc-c/.update (original) +++ freeswitch/trunk/libs/xmlrpc-c/.update Wed Apr 25 15:57:14 2007 @@ -1 +1 @@ -Fri Mar 16 17:21:00 EDT 2007 +Wed Apr 25 16:05:00 EDT 2007 Modified: freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss.h ============================================================================== --- freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss.h (original) +++ freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss.h Wed Apr 25 15:57:14 2007 @@ -634,7 +634,7 @@ void ServerFree(TServer *srv); -void ServerInit(TServer *srv); +int ServerInit(TServer *srv); void ServerRun(TServer *srv); void ServerRunOnce(TServer *srv); void ServerRunOnce2(TServer * const srv, Modified: freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/server.c ============================================================================== --- freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/server.c (original) +++ freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/server.c Wed Apr 25 15:57:14 2007 @@ -711,20 +711,30 @@ SocketClose(&(c->socket)); } -void ServerInit(TServer *srv) +int ServerInit(TServer *srv) { /********* Must check errors from these functions *************/ - if (!SocketInit()) - TraceExit("Can't initialize TCP sockets\n");; + if (!SocketInit()) { + TraceMsg("Can't initialize TCP sockets\n"); + return FALSE; + } + + if (!SocketCreate(&srv->listensock)) { + TraceMsg("Can't create a socket\n"); + return FALSE; + } + + if (!SocketBind(&srv->listensock,NULL,srv->port)) { + TraceMsg("Can't bind\n"); + return FALSE; + } + + if (!SocketListen(&srv->listensock,MAX_CONN)) { + TraceMsg("Can't listen\n"); + return FALSE; + } - if (!SocketCreate(&srv->listensock)) - TraceExit("Can't create a socket\n");; - - if (!SocketBind(&srv->listensock,NULL,srv->port)) - TraceExit("Can't bind\n"); - - if (!SocketListen(&srv->listensock,MAX_CONN)) - TraceExit("Can't listen\n"); + return TRUE; } /* With pthread configuration, our connections run as threads of a Modified: freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/trace.c ============================================================================== --- freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/trace.c (original) +++ freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/trace.c Wed Apr 25 15:57:14 2007 @@ -63,5 +63,5 @@ va_start(argptr,fmt); TraceVMsg(fmt,argptr); va_end(argptr); - exit(1); + abort(); } Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c ============================================================================== --- freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original) +++ freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Wed Apr 25 15:57:14 2007 @@ -304,7 +304,11 @@ xmlrpc_server_abyss_set_handler(&env, &abyssServer, "/RPC2", registryP); - ServerInit(&abyssServer); + if (ServerInit(&abyssServer) != TRUE) { + globals.running = 0; + return SWITCH_STATUS_FALSE; + } + ServerAddHandler(&abyssServer, HandleHook); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Starting HTTP Port %d, DocRoot [%s]\n", globals.port, SWITCH_GLOBAL_dirs.htdocs_dir);