Hi Alex, I'm not sure I understand your comment entirely, you say this patch might cause us to take too long to respond to a DLR/MO, which I understand, BUT this scenario is already possible if there are no other events calling the thread to wake up?
Thanks, Donald 2009/2/10 Alexander Malysh <[email protected]> > Hi, > > yes, your patch seems to fix gwthread_wakeup but it's wrong too because we > _may_ not sleep on transceiver bind because we could take too long to > respond to dlr/mo. I have patch here for throttling, will try to rebase > it... > > Thanks, > Alex > > Donald Jackson schrieb: > > Hi everyone, >> >> Here is a patch I have created for SMPP throttling. To easily >> duplicate the bug you can take the following actions: >> >> -- Configure SMPP bind with very low throughput (ie: 0.1) >> -- Send 100 messages in quick succession >> >> What you can see from the debug output times is that when >> send_messages() is supposed to be sleeping for throttling purposes, it >> will get woken up by send_msg_cb()'s >> gwthread_wakeup(smpp->transmitter); call. >> >> This causes inaccuracy in the sleep time as the thread is prematurely >> woken up. This causes many throttling errors on high volume/load >> Kannel installations because of the increased throttling errors and >> the current default throttling sleep time which I see is being changed >> ;) My patch simply let's send_messages() indicate that it is sleeping >> for throttling purposes and shouldn't be woken up. >> >> Good luck! >> -- >> Donald Jackson >> http://www.ddj.co.za/ >> donaldjster(a)gmail.com >> > > > -- Donald Jackson http://www.ddj.co.za/ donaldjster(a)gmail.com
