Author: sayer
Date: 2008-12-03 16:50:01 +0100 (Wed, 03 Dec 2008)
New Revision: 1161

Modified:
   trunk/apps/ivr/Ivr.cpp
Log:
allocate IvrSipReply objects while PYLOCKed . Patch by Peter Loeppky ploeppky 
at fibernetics ca


Modified: trunk/apps/ivr/Ivr.cpp
===================================================================
--- trunk/apps/ivr/Ivr.cpp      2008-12-03 10:55:57 UTC (rev 1160)
+++ trunk/apps/ivr/Ivr.cpp      2008-12-03 15:50:01 UTC (rev 1161)
@@ -747,15 +747,29 @@
   return false;
 }
 
+PyObject * getPySipReply(const AmSipReply& r)
+{
+  PYLOCK;
+
+  AmSipReply* rep_cpy = new AmSipReply(r);
+  return IvrSipReply_FromPtr(rep_cpy);
+}
+
+PyObject * getPySipRequest(const AmSipRequest& r)
+{
+  PYLOCK;
+
+  AmSipRequest* req_cpy = new AmSipRequest(r);
+  return IvrSipRequest_FromPtr(req_cpy);
+}
+
 void IvrDialog::onSipReply(const AmSipReply& r) {
-  AmSipReply* rep_cpy = new AmSipReply(r);
-  callPyEventHandler("onSipReply","O",IvrSipReply_FromPtr(rep_cpy));
+  callPyEventHandler("onSipReply","O",getPySipReply(r));
   AmB2BSession::onSipReply(r);
 }
 
 void IvrDialog::onSipRequest(const AmSipRequest& r){
-  AmSipRequest* req_cpy = new AmSipRequest(r);
-  callPyEventHandler("onSipRequest","O", IvrSipRequest_FromPtr(req_cpy));
+  callPyEventHandler("onSipRequest","O", getPySipRequest(r));
   AmB2BSession::onSipRequest(r);
 }
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to