[Asterisk-cvs] asterisk/include/asterisk manager.h,1.17,1.18

markster markster
Wed Sep 28 19:13:37 CDT 2005


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;
 };
 




More information about the svn-commits mailing list