Hi again, I found a problem in Kannel gateway (CVS version). Let's check scenario. Consider bearerbox and 1 smsbox named "some_box_id".
1) Start bearerbox, it is waiting for smsboxes. 2) Start smsbox with smsbox_id = "some_box_id", connect to bearerbox. 3) In bearerbox struct Boxc is created and made connection to smsbox. Default shared list for incoming_sms is set for this smsbox connection. 4) Bearebox starts boxc_sender thread for connected smsbox and sender waits for incoming_sms in shared list until some msg will arrive. 5) Smsbox identify itself as "some_box_id" and new private list for incoming_sms is created, but previous cannot be destroyed because it is shared. But sender is still waiting on shared list!!! And it will wait forever. No sms can be sent by smsbox "some_box_id". I have patched this bug in local version by adding mutex to struct boxc and forcing boxc_sender to wait on this mutex until smsbox will identify itself. Then sender starts his real job. Changed also smsbox.c to send cmd_identify even if boxc_id is NULL. The patch is attached. I hope it removes problem. Regards Robert Galach
smsbox.c.patch
Description: Binary data
bb_boxc.c.patch
Description: Binary data
