Author: kosmo                        Date: Wed Jan 17 12:24:25 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- official patches from http://www.twinklephone.com/

---- Files affected:
SOURCES:
   twinkle-memman.patch (NONE -> 1.1)  (NEW), twinkle-dtmf.patch (NONE -> 1.1)  
(NEW), twinkle-invite4xx.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/twinkle-memman.patch
diff -u /dev/null SOURCES/twinkle-memman.patch:1.1
--- /dev/null   Wed Jan 17 13:24:25 2007
+++ SOURCES/twinkle-memman.patch        Wed Jan 17 13:24:20 2007
@@ -0,0 +1,61 @@
+Index: src/audits/memman.cpp
+===================================================================
+--- src/audits/memman.cpp      (revision 223)
++++ src/audits/memman.cpp      (working copy)
+@@ -114,13 +114,22 @@
+               return;
+       }
+ 
+-      pointer_map.erase(p);
++
+       bool array_mismatch = (is_array != i->second.is_array);
+-      mtx_memman.unlock();
+ 
+       // Check mixing of array new/delete
++      // NOTE: after the pointer has been erased from pointer_map, the
++      //       iterator i is invalid.
++      //       The mutex mtx_memman should be unlocked before logging to
++      //       avoid dead locks.
+       if (array_mismatch) {
+               num_array_mixing++;
++              string allocation_filename = i->second.filename;
++              int allocation_lineno = i->second.lineno;
++              bool allocation_is_array = i->second.is_array;
++              pointer_map.erase(p);
++              mtx_memman.unlock();
++              
+               log_file->write_header("t_memman::trc_delete",
+                       LOG_MEMORY, LOG_WARNING);
+               log_file->write_raw(filename);
+@@ -130,21 +139,24 @@
+               log_file->write_raw(ptr2str(p));
+               log_file->write_raw(" is deleted ");
+               if (is_array) {
+-                      log_file->write_raw(" as array (delete []).\n");
++                      log_file->write_raw("as array (delete []).\n");
+               } else {
+-                      log_file->write_raw(" normally (delete).\n");
++                      log_file->write_raw("normally (delete).\n");
+               }
+               log_file->write_raw("But it was allocated ");
+-              if (i->second.is_array) {
+-                      log_file->write_raw(" as array (new []) \n");
++              if (allocation_is_array) {
++                      log_file->write_raw("as array (new []) \n");
+               } else {
+-                      log_file->write_raw(" normally (new) \n");
++                      log_file->write_raw("normally (new) \n");
+               }
+-              log_file->write_raw(i->second.filename);
++              log_file->write_raw(allocation_filename);
+               log_file->write_raw(", line ");
+-              log_file->write_raw(i->second.lineno);
++              log_file->write_raw(allocation_lineno);
+               log_file->write_endl();
+               log_file->write_footer();
++      } else {
++              pointer_map.erase(p);
++              mtx_memman.unlock();
+       }
+ }
+ 

================================================================
Index: SOURCES/twinkle-dtmf.patch
diff -u /dev/null SOURCES/twinkle-dtmf.patch:1.1
--- /dev/null   Wed Jan 17 13:24:25 2007
+++ SOURCES/twinkle-dtmf.patch  Wed Jan 17 13:24:20 2007
@@ -0,0 +1,40 @@
+Index: src/session.cpp
+===================================================================
+--- src/session.cpp    (revision 223)
++++ src/session.cpp    (working copy)
+@@ -653,18 +653,19 @@
+               case DTMF_AUTO:
+               case DTMF_INBAND:
+                       get_line()->ci_set_dtmf_supported(true, true);
++                      ui->cb_dtmf_supported(get_line()->get_line_number());
+                       break;
+               case DTMF_RFC2833:
+                       get_line()->ci_set_dtmf_supported(false);
++                      
ui->cb_dtmf_not_supported(get_line()->get_line_number());
+                       break;
+               case DTMF_INFO:
+                       get_line()->ci_set_dtmf_supported(true, false, true);
++                      ui->cb_dtmf_supported(get_line()->get_line_number());
+                       break;
+               default:
+                       assert(false);
+               }
+-              
+-              ui->cb_line_state_changed();
+       }
+ 
+       audio_rtp_session->run();
+@@ -675,10 +676,10 @@
+               MEMMAN_DELETE(audio_rtp_session);
+               delete audio_rtp_session;
+               audio_rtp_session = NULL;
++      
++              get_line()->ci_set_dtmf_supported(false);
++              ui->cb_line_state_changed();
+       }
+-      
+-      get_line()->ci_set_dtmf_supported(false);
+-      ui->cb_line_state_changed();
+ }
+ 
+ t_audio_session *t_session::get_audio_session(void) const {

================================================================
Index: SOURCES/twinkle-invite4xx.patch
diff -u /dev/null SOURCES/twinkle-invite4xx.patch:1.1
--- /dev/null   Wed Jan 17 13:24:25 2007
+++ SOURCES/twinkle-invite4xx.patch     Wed Jan 17 13:24:20 2007
@@ -0,0 +1,16 @@
+Index: src/line.cpp
+===================================================================
+--- src/line.cpp       (revision 225)
++++ src/line.cpp       (working copy)
+@@ -966,9 +966,8 @@
+                       } else {
+                               d->recvd_response(r, tuid, tid);
+                       }
+-              }
+-              
+-              if (r->hdr_cseq.method == INVITE) {
++              } else {
++                      d->recvd_response(r, tuid, tid);
+                       pending_dialogs.remove(d);
+                       MEMMAN_DELETE(d);
+                       delete d;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to