[asterisk-commits] mnicholson: branch 1.6.2 r301594 - in /branches/1.6.2: ./ main/manager.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jan 12 12:50:34 CST 2011


Author: mnicholson
Date: Wed Jan 12 12:50:31 2011
New Revision: 301594

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=301594
Log:
Removed a usleep(1) that shouldn't be necessary in session_do, and removed the
ms_t member from the mansession_session structure.

Merged revisions 301591 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r301591 | mnicholson | 2011-01-12 12:39:03 -0600 (Wed, 12 Jan 2011) | 5 lines
  
  Don't store the thread id for the manager session in the structure we pass to
  the thread for the manager session.
  
  ABE-2543
........

Modified:
    branches/1.6.2/   (props changed)
    branches/1.6.2/main/manager.c

Propchange: branches/1.6.2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: branches/1.6.2/main/manager.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/main/manager.c?view=diff&rev=301594&r1=301593&r2=301594
==============================================================================
--- branches/1.6.2/main/manager.c (original)
+++ branches/1.6.2/main/manager.c Wed Jan 12 12:50:31 2011
@@ -192,7 +192,6 @@
  * data.
  */
 struct mansession_session {
-	pthread_t ms_t;		/*!< Execution thread, basically useless */
 	ast_mutex_t __lock;	/*!< Thread lock -- don't use in action callbacks, it's already taken care of  */
 				/* XXX need to document which fields it is protecting */
 	struct sockaddr_in sin;	/*!< address we are connecting from */
@@ -3287,19 +3286,6 @@
 		ast_log(LOG_EVENT, "Failed attempt from %s\n", ast_inet_ntoa(session->sin.sin_addr));
 	}
 
-	/* It is possible under certain circumstances for this session thread
-	   to complete its work and exit *before* the thread that created it
-	   has finished executing the ast_pthread_create_background() function.
-	   If this occurs, some versions of glibc appear to act in a buggy
-	   fashion and attempt to write data into memory that it thinks belongs
-	   to the thread but is in fact not owned by the thread (or may have
-	   been freed completely).
-
-	   Causing this thread to yield to other threads at least one time
-	   appears to work around this bug.
-	*/
-	usleep(1);
-
 	destroy_session(session);
 
 done:




More information about the asterisk-commits mailing list