]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 301594 via svnmerge from
authorMatthew Nicholson <mnicholson@digium.com>
Wed, 12 Jan 2011 18:51:37 +0000 (18:51 +0000)
committerMatthew Nicholson <mnicholson@digium.com>
Wed, 12 Jan 2011 18:51:37 +0000 (18:51 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r301594 | mnicholson | 2011-01-12 12:50:31 -0600 (Wed, 12 Jan 2011) | 15 lines

  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
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@301595 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/manager.c

index d971b4785ec0b2092c18797b81067e9201007c9e..b52cbd0589234bee0fbf2d1026b0d7ef892e6719 100644 (file)
@@ -929,7 +929,6 @@ static const struct {
  * data.
  */
 struct mansession_session {
-       pthread_t ms_t;         /*!< Execution thread, basically useless */
                                /* XXX need to document which fields it is protecting */
        struct sockaddr_in sin; /*!< address we are connecting from */
        FILE *f;                /*!< fdopen() on the underlying fd */
@@ -4687,19 +4686,6 @@ static void *session_do(void *data)
                }
        }
 
-       /* 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);
-
        session_destroy(session);
 
        ast_mutex_destroy(&s.lock);