]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
resolve http://jira.freeswitch.org/browse/MDXMLINT-6
authorMichael Jerris <mike@jerris.com>
Wed, 25 Apr 2007 19:57:14 +0000 (19:57 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 25 Apr 2007 19:57:14 +0000 (19:57 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5016 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/xmlrpc-c/.update
libs/xmlrpc-c/include/xmlrpc-c/abyss.h
libs/xmlrpc-c/lib/abyss/src/server.c
libs/xmlrpc-c/lib/abyss/src/trace.c
src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c

index 7fa07020438d5d00679f08c173eb9d37b57ccc13..61d9732fd38ee37f372ae4a489f73372529b8e4e 100644 (file)
@@ -1 +1 @@
-Fri Mar 16 17:21:00 EDT 2007
+Wed Apr 25 16:05:00 EDT 2007
index e7dc4eb8c43a75884604c1afae0f29c2781e71ad..4a4fed1a0999fb195397a04e857524400739eb84 100644 (file)
@@ -634,7 +634,7 @@ abyss_bool ServerCreate(TServer *srv,
 
 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,
index 297a8efc6be08add7ecaf10d7f0498d4b68bb1c2..3752d16249d18a22319c8982ffdd09987ca468a5 100644 (file)
@@ -711,20 +711,30 @@ ServerFunc(TConn * c) {
     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 (!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");
+       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;
+       }
+
+       return TRUE;
 }
 
 /* With pthread configuration, our connections run as threads of a
index 010c9c8c180686547ce0a564290919fb8501cbc0..1d1174c6d42c3497ac59d0772340a2d82ba58180 100644 (file)
@@ -63,5 +63,5 @@ void TraceExit(char *fmt,...)
     va_start(argptr,fmt);
     TraceVMsg(fmt,argptr);
     va_end(argptr);
-    exit(1);
+    abort();
 }
index c6dcd2c99ebf84b0362452f6d76a9438a070450b..5eab533264c6c6d78577319802b09bcd5579fe1f 100644 (file)
@@ -304,7 +304,11 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
 
        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);