For example, perhaps we can implement a single global mutex for the
lock... function. This would slow down the execution for sure but
would it create the exception? Can you provide some source code
snippet for this please?

Best Regards,

SZ

On 4/28/07, Fastream Technologies <[EMAIL PROTECTED]> wrote:
> Arno,
>
> I have THOUSANDS of critical sections passed to this function as
> parameter! 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