Add some code removed by mistake from commit 182722 that works around a file
authorJeff Peeler <jpeeler@digium.com>
Wed, 18 Mar 2009 21:18:27 +0000 (21:18 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 18 Mar 2009 21:18:27 +0000 (21:18 +0000)
descriptor leak in versions of PWLib prior to 1.12.0.

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

channels/h323/ast_h323.cxx

index 489cf7a..9194976 100644 (file)
@@ -88,7 +88,8 @@ extern "C" {
 #include "cisco-h225.h"
 #include "caps_h323.h"
 
-#if VERSION(PWLIB_MAJOR, PWLIB_MINOR, PWLIB_BUILD) >= VERSION(1,12,0)
+/* PWLIB_MAJOR renamed to PTLIB_MAJOR in 2.x.x */
+#if (defined(PTLIB_MAJOR) || VERSION(PWLIB_MAJOR, PWLIB_MINOR, PWLIB_BUILD) >= VERSION(1,12,0))
 #define SKIP_PWLIB_PIPE_BUG_WORKAROUND 1
 #endif
 
@@ -133,6 +134,10 @@ static int channelsOpen;
  */
 static MyH323EndPoint *endPoint = NULL;
 
+#ifndef SKIP_PWLIB_PIPE_BUG_WORKAROUND
+static int _timerChangePipe[2];
+#endif
+
 static unsigned traceOptions = PTrace::Timestamp | PTrace::Thread | PTrace::FileAndLine;
 
 class PAsteriskLog : public PObject, public iostream {
@@ -2670,6 +2675,10 @@ void h323_end_process(void)
                delete endPoint;
                endPoint = NULL;
        }
+#ifndef SKIP_PWLIB_PIPE_BUG_WORKAROUND
+       close(_timerChangePipe[0]);
+       close(_timerChangePipe[1]);
+#endif
        if (logstream) {
                delete logstream;
                logstream = NULL;