Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv19368/channels

Modified Files:
        chan_iax2.c 
Log Message:
split acl and netsock code into separate files, in preparation for new netsock 
implementation
various minor cleanups


Index: chan_iax2.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v
retrieving revision 1.320
retrieving revision 1.321
diff -u -d -r1.320 -r1.321
--- chan_iax2.c 15 Jul 2005 23:00:46 -0000      1.320
+++ chan_iax2.c 19 Jul 2005 23:17:02 -0000      1.321
@@ -43,6 +43,7 @@
 #include "asterisk/aes.h"
 #include "asterisk/dnsmgr.h"
 #include "asterisk/devicestate.h"
+#include "asterisk/netsock.h"
 
 #include <sys/mman.h>
 #include <arpa/inet.h>
@@ -156,7 +157,7 @@
 
 static int timingfd = -1;                              /* Timing file 
descriptor */
 
-static struct ast_netsock_list netsock;
+static struct ast_netsock_list *netsock;
 static int defaultsockfd = -1;
 
 static int usecnt;
@@ -7864,7 +7865,7 @@
                if (res == 0) {
                        /* ip address valid. */
                        sin.sin_port = htons(port);
-                       sock = ast_netsock_find(&netsock, &sin);
+                       sock = ast_netsock_find(netsock, &sin);
                        if (sock) {
                                sockfd = ast_netsock_sockfd(sock);
                                nonlocal = 0;
@@ -8423,7 +8424,7 @@
                        if (reload) {
                                ast_log(LOG_NOTICE, "Ignoring bindaddr on 
reload\n");
                        } else {
-                               if (!(ns = ast_netsock_bind(&netsock, io, 
v->value, portno, tos, socket_read, NULL))) {
+                               if (!(ns = ast_netsock_bind(netsock, io, 
v->value, portno, tos, socket_read, NULL))) {
                                        ast_log(LOG_WARNING, "Unable apply 
binding to '%s' at line %d\n", v->value, v->lineno);
                                } else {
                                        if (option_verbose > 1) {
@@ -9247,7 +9248,7 @@
                pthread_cancel(netthreadid);
                pthread_join(netthreadid, NULL);
        }
-       ast_netsock_release(&netsock);
+       ast_netsock_release(netsock);
        for (x=0;x<IAX_MAX_CALLS;x++)
                if (iaxs[x])
                        iax2_destroy(x);
@@ -9318,13 +9319,18 @@
                return -1;
        }
 
+       netsock = ast_netsock_list_alloc();
+       if (!netsock) {
+               ast_log(LOG_ERROR, "Could not allocate netsock list.\n");
+               return -1;
+       }
+       ast_netsock_init(netsock);
+
        ast_mutex_init(&iaxq.lock);
        ast_mutex_init(&userl.lock);
        ast_mutex_init(&peerl.lock);
        ast_mutex_init(&waresl.lock);
        
-       ast_netsock_init(&netsock);
-
        ast_cli_register_multiple(iax2_cli, sizeof(iax2_cli) / 
sizeof(iax2_cli[0]));
 
        ast_register_application(papp, iax2_prov_app, psyn, pdescrip);
@@ -9344,7 +9350,7 @@
                ast_log(LOG_ERROR, "Unable to register IAX switch\n");
        
        if (defaultsockfd < 0) {
-               if (!(ns = ast_netsock_bindaddr(&netsock, io, &sin, tos, 
socket_read, NULL))) {
+               if (!(ns = ast_netsock_bindaddr(netsock, io, &sin, tos, 
socket_read, NULL))) {
                        ast_log(LOG_ERROR, "Unable to create network socket: 
%s\n", strerror(errno));
                        return -1;
                } else {
@@ -9360,7 +9366,7 @@
                        ast_verbose(VERBOSE_PREFIX_2 "IAX Ready and 
Listening\n");
        } else {
                ast_log(LOG_ERROR, "Unable to start network thread\n");
-               ast_netsock_release(&netsock);
+               ast_netsock_release(netsock);
        }
 
        for (reg = registrations; reg; reg = reg->next)

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to