2004-02-08 Gernot Hillier <gernot@hillier.de>

* src/backend/connection.cpp (data_b3_conf): fix behaviour when
          DATA_B3_CONF comes immediately after DATA_B3_REQ


git-svn-id: https://svn.ibp.de/svn/capisuite/trunk/capisuite@226 4ebea2bb-67d4-0310-8558-a5799e421b66
This commit is contained in:
gernot 2004-02-08 21:09:28 +00:00
parent 40b4aa8042
commit a67f0e5b9f
3 changed files with 11 additions and 7 deletions

View File

@ -12,6 +12,8 @@
* src/modules/audiosend.{cpp,h} (mainLoop): Likewise.
* src/modules/callmodule.{cpp,h} (mainLoop): Likewise.
* src/modules/faxsend.{cpp,h} (mainLoop): Likewise.
* src/backend/connection.cpp (data_b3_conf): fix behaviour when
DATA_B3_CONF comes immediately after DATA_B3_REQ
2004-01-18 Gernot Hillier <gernot@hillier.de>
* scripts/cs_helpers.pyin (sendMIMEMail): remove space in sox call

3
NEWS
View File

@ -4,6 +4,9 @@
* core: fixed a bug which could lead to a crash when some unexpected
CAPI messages arrived (thx to Karsten Keil for analyzing)
* core: behave correctly when DATA_B3_CONF messages come early (thx to
Karsten Keil for analyzing and a nice fix!)
* scripts: the mails sent with received voice and fax calls will now
contain some general information like length of calls, number of
pages, etc. (thx to Achim Bohnet and Thomas Niesel for the feature

View File

@ -2,7 +2,7 @@
@brief Contains Connection - Encapsulates a CAPI connection with all its states and methods.
@author Gernot Hillier <gernot@hillier.de>
$Revision: 1.16 $
$Revision: 1.17 $
*/
/***************************************************************************
@ -710,15 +710,14 @@ Connection::data_b3_conf(_cmsg& message) throw (CapiError,CapiWrongState,CapiMsg
if (DATA_B3_CONF_INFO(&message))
throw CapiMsgError(DATA_B3_CONF_INFO(&message),"DATA_B3_CONF received with Error (Info)","Connection::data_b3_conf()");
if ( (!buffers_used) || (DATA_B3_CONF_DATAHANDLE(&message)!=buffer_start) )
throw CapiError("DATA_B3_CONF received with invalid data handle","Connection::data_b3_conf()");
pthread_mutex_lock(&send_mutex);
// free one buffer
buffers_used--;
buffer_start=(buffer_start+1)%7;
try {
if ( (!buffers_used) || (DATA_B3_CONF_DATAHANDLE(&message)!=buffer_start) )
throw CapiError("DATA_B3_CONF received with invalid data handle","Connection::data_b3_conf()");
// free one buffer
buffers_used--;
buffer_start=(buffer_start+1)%7;
while (file_to_send && (buffers_used < conf_send_buffers) )
send_block();
}