<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/4.2.3">
</HEAD>
<BODY>
Hi,<BR>
<BR>
I am trying to use t_suspend()/t_continue() multiple times on the same transaction. Calling t_suspend() more than once works, but the second time I call t_continue() the transaction is killed and a 500 response is sent. It is the "if (branch == t->nr_of_outgoings)" check from the code fragment below (from t_suspend.c:t_continue()) that results in the transaction being killed - you can see the debug/error line I added to determine this in the fragment.<BR>
<BR>
Is using t_suspend()/t_continue() multiple times something that should work?<BR>
<BR>
Thanks,<BR>
<BR>
Peter<BR>
<BR>
if (t->uas.status < 200) {<BR>
/* No final reply has been sent yet.<BR>
* Check whether or not there is any pending branch.<BR>
*/<BR>
for ( branch = 0;<BR>
branch < t->nr_of_outgoings;<BR>
branch++<BR>
) {<BR>
if ((t->uac[branch].request.buffer != NULL)<BR>
&& (t->uac[branch].last_received < 200)<BR>
)<BR>
break;<BR>
}<BR>
<BR>
if (branch == t->nr_of_outgoings) {<BR>
/* There is not any open branch so there is<BR>
* no chance that a final response will be received. */<BR>
ret = 0;<BR>
LM_ERR("branch == t->nr_of_outgoings\n");<BR>
goto kill_trans;<BR>
}<BR>
}<BR>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd
</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>