> de Zoran Vasiljevic
> On Tuesday 24 February 2004 13:24, you wrote:
> >
> > I agree 100% with you. Thread should gradually load all the procs.
> > I may have something wrong somewhere or a special thing in all my tcl
> > procs, I will check that and let you know.
>
> You can make your life easier by adding some log displays to
> the proc "unknown" in the ttrace.tcl. This one is shadowing
> the Tcl unknown command and tries to fetch the item blueprint
> from the nsv array. If not sucessfull, it reverts to the
> original Tcl unknown proc.
> Having this in place, you will see how often this one gets called.
> It should be called only once per-thread-per-item (proc). If not,
> than there is a bug somewhere.
>
> Zoran
>

The lock contention problem comes from the nsv_array "0-proc".
As I understand TTrace module, the <xx>-proc (where xx=0 for me) is the
array where all the procs are saved (the proc db we can say).
0 = the epoch time I suppose.

So this array is locked/unlock a lot of times just for one request in the
ttrace::getentry proc.
I didn't investigate more, but as I understand the "ttrace::getentry" proc
should be called only when resolving the function.
But adding some ns_log trace, I found the "getentry" proc was called on
ns_cleanup which is pretty strange (anyway I didn't read carefully all the
TTrace packages procedures).

So it may be that the ns_cleanup (and so the ttrace::cleanup called in the
ns_cleanup) could delete all the functions and the functions need to be
resolved again on the next request in the same thread.

I tried to comment the "ttrace::addcleanup { ...}" code and is looks much
better as getentry is not called tons of times in a request for the same
thread.

I will not have a lot of time until 3 or 4 days so I will investigate more
later.

Unless you really see a problem on the ttrace package, do not waste your
time as the problem may come from my code !!!

Regards.

Jean-Fabrice RABAUTE
Core Services - Enjoy the future today
http://www.core-services.fr


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.

Reply via email to