Hi Frédéric,
On 07/07/2011 09:19 AM, Frédéric Dalleau wrote:
This patch fix an issue with AT parser in gatserver.
If an empty command is issued after AT, then 2 answers are sent. The parser can
also get in a bad state where next commands will not be handled. After that the
parser will get back on his feets. This is caused by reentrency:
new_bytes() calls g_at_server_send_final(), which in turns calls server_resume
which calls new_bytes() again synchronously.
We should not try to set the read handler if it already set. Have you
tried adding:
if (server->suspended == FALSE)
return;
to server_resume()?
Regards,
-Denis