Fastream Technologies wrote:
> Arno,
> 
> I have THOUSANDS of critical sections passed to this function as
> parameter! 

Why do you need THOUSANDS of critical sections??
That sounds slower than running single threaded.

--
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html

> Isn't there a simpler way to implement??
> 
> Regards,
> 
> SZ
> 
> On 4/28/07, Arno Garrels <[EMAIL PROTECTED]> wrote:
>> Fastream Technologies wrote:
>>> This sounds reasonable. Can you give an example? Since all my cs are
>>> of TCriticalSection type, can I do it in this function:
>> 
>> I thought of using mutexes. That's not very difficult to change.
>> Have an array of mutex handles, then pass the index to your
>> function. Search for CreateMutex etc. in the SDK. When the wait
>> returned WAIT_TIMEOUT and you raise an exception MadExcept will
>> report the callstacks of each thread.
>> I don't have any idea how one can raise an exception in a thread
>> or get to thread's callstack when it hangs around in
>> CriticalSection->Acquire.
>> 
>> --
>> Arno Garrels [TeamICS]
>> http://www.overbyte.be/eng/overbyte/teamics.html
>> 
>>> 
>>> void __fastcall lockCriticalSection(TCriticalSection *CS)
>>> {
>>>        // currently it is:
>>>        CS->Acquire();
>>> 
>>>        // what should it be?
>>> }
>>> 
>>> Best Regards,
>>> 
>>> SZ
>>> 
>>> On 4/28/07, Arno Garrels <[EMAIL PROTECTED]> wrote:
>>>> Fastream Technologies wrote:
>>>>> Hello,
>>>>> 
>>>>> I have a very difficult bug: the program includes lots of critical
>>>>> sections and it suddenly stops responding!
>>>> 
>>>> Sounds like deadlock.
>>>> 
>>>>> I have a wrapper global
>>>>> function called lockCriticalSection(TCriticalSection *cs) which
>>>>> calls acquire. I want to log inside this but need to record the
>>>>> call stack so that I can see which call is the lastest. Any idea?
>>>> 
>>>> AFAIK Jedi gives you the callstack only upon an exception.
>>>> My idea is to use a different synchronization method with a timeout
>>>> parameter, when the wait timed out you can raise an exception.
>>>> 
>>>> Would that help?
>>>> 
>>>> --
>>>> Arno Garrels [TeamICS]
>>>> http://www.overbyte.be/eng/overbyte/teamics.html
>>>> 
>>>>> 
>>>>> Best Regards,
>>>>> 
>>>>> SZ
>>>> --
>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>> Visit our website at http://www.overbyte.be
>>>> 
>>> 
>>> 
>>> --
>>> CSA, Fastream Technologies
>>> Software IQ: Innovation & Quality
>>> www.fastream.com | Email: [EMAIL PROTECTED] | Tel: +90-312-223-
>>> 2830 Join IQWF Server Yahoo group at
>>> http://groups.yahoo.com/group/IQWFServer Join IQ Reverse Proxy Yahoo
>>> group at http://groups.yahoo.com/group/IQReverseProxy
>> --
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://www.elists.org/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to