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

Modified Files:
        manager.h 
Log Message:
Remove possibility of manager deadlocks from manager actions


Index: manager.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/manager.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- manager.h   30 Aug 2005 18:32:09 -0000      1.17
+++ manager.h   28 Sep 2005 23:10:14 -0000      1.18
@@ -66,16 +66,22 @@
 #define MAX_HEADERS 80
 #define MAX_LEN 256
 
+struct eventqent {
+       struct eventqent *next;
+       char eventdata[0];
+};
+
 struct mansession {
        /*! Execution thread */
        pthread_t t;
-       /*! Thread lock */
-       ast_mutex_t lock;
+       /*! Thread lock -- don't use in action callbacks, it's already taken 
care of  */
+       ast_mutex_t __lock;
        /*! socket address */
        struct sockaddr_in sin;
        /*! TCP socket */
        int fd;
-       int blocking;
+       /*! Whether or not we're busy doing an action */
+       int busy;
        /*! Logged in username */
        char username[80];
        /*! Authentication challenge */
@@ -90,6 +96,8 @@
        char inbuf[MAX_LEN];
        int inlen;
        int send_events;
+       /* Queued events that we've not had the ability to send yet */
+       struct eventqent *eventq;
        struct mansession *next;
 };
 

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

Reply via email to