Re: [PATCH] fixes an issue when main thread is sleeping when receiving data.
Vincent CHAVANIS <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
i confirm this also fix the issue.
Tested twice, with 1000 and 10000 sendings.
2009-04-30 13:02:05.0788 [31537] [0] INFO: mtbatch has processed 10000 messages with 0 errors
2009-04-30 13:02:06.0329 [31537] [1] INFO: Received acks: 10000 success, 0 failed, 0 failed temporarly, 0 queued, 100 other in 6 seconds (1666.67 per second)
2009-04-30 13:02:06.0329 [31537] [1] DEBUG: Thread 1 (utils/mtbatch.c:read_messages_from_bearerbox) terminates.
2009-04-30 13:02:06.0332 [31537] [0] DEBUG: Immutable octet strings: 2.
++1 for me
Vincent.
Alexander Malysh a écrit :
> hi Vincent,
>
> please try attached patch. The mtbatch freeze because in main we try to
> join all threads (gwthread_join_all) but
> in read_messages_from_bearerbox we blocked infinite waiting for acks
> from bearerbox.
>
> Thanks,
> Alex
>
>
> Am 17.04.2009 um 11:35 schrieb Vincent CHAVANIS:
>
>>
>> I've experiences somes troubles when sending 3500 msg/sec
>> Sometimes, the main thread_id is freezed.
>>
>>
>> # On the code executed below:
>>
>> sended = run_batch();
>>
>> info(0," mark#1 ");
>>
>> /* avoid exiting before sending all msgs */
>> while(sended > counter_value(counter)) {
>> info(0," mark#2 ");
>> gwthread_sleep(0.1);
>> }
>>
>>
>> # i got this:
>>
>> 2009-04-17 11:31:55.0720 [22720] [0] DEBUG: message length 130,
>> sending 1 messages
>> 2009-04-17 11:31:55.0720 [22720] [0] DEBUG: message length 130,
>> sending 1 messages
>> 2009-04-17 11:31:55.0720 [22720] [0] DEBUG: message length 130,
>> sending 1 messages
>> 2009-04-17 11:31:55.0721 [22720] [0] DEBUG: message length 130,
>> sending 1 messages
>> 2009-04-17 11:31:55.0721 [22720] [0] INFO: mtbatch has processed 999
>> messages with 0 errors
>> 2009-04-17 11:31:55.0721 [22720] [0] INFO: mark#1
>> 2009-04-17 11:31:55.0721 [22720] [0] INFO: mark#2
>> (freezed)
>> ^C
>>
>>
>>
>>
>> Alexander Malysh a écrit :
>>> Hi,
>>> I don't get it, why this patch is needed? Could you please describe
>>> in detail?
>>> Thanks,
>>> Alex
>>> Am 16.04.2009 um 12:36 schrieb Vincent CHAVANIS:
>>>>
>>>> - When main thread is sleeping and receiving data by bearerbox,
>>>> we will be into an infinite loop.
>>>>
>>>> This patch fix this by waking-up the main thread.
>>>>
>>>> Vincent.
>>>>
>>>>
>>
>>
>
--
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Direction du Developpement xMS+
http://www.telemaque.fr/
[email protected]
Tel : +33 4 92 90 99 84 (fax 9142)