https://issues.apache.org/bugzilla/show_bug.cgi?id=55153
--- Comment #6 from Harald Oehlmann <[email protected]> --- I am sorry, Moassimo, but the patch does not change anything for me: a) the issue is not cured b) if I look via "ps -L aux" to the thread configuration, this did not change: ps -L aux USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND root 19610 19610 0.1 2 1.4 393540 14692 ? Ssl 13:13 0:00 /usr/sbin/httpd root 19610 19613 0.0 2 1.4 393540 14692 ? Ssl 13:13 0:00 /usr/sbin/httpd apache 19612 19612 0.0 1 0.7 391476 7292 ? S 13:13 0:00 /usr/sbin/httpd apache 19614 19614 0.0 1 1.0 393960 10432 ? S 13:13 0:00 /usr/sbin/httpd Thus, the notifier thread still runs one in the root process and not in the worker threads. I have looked a bit, where the thread creation function "Tcl_InitNotifier" is called. It eaven has a stub entry: tclStubInit.c: Tcl_InitNotifier, /* 307 */ Here is the general call: generic\tclNotify.c: procedure: TclInitNotifier() which is called by the procedure in the same file : TclInitSubsystems() This is called by by all of those: tclBasic.c: Tcl_CreateInterp() tclEncoding: Tcl_FindExecutable() The patch proposed to call: Rivet_CreateTclInterp which itself calls: Tcl_FindExecutable() and Tcl_CreateInterp() Thus the thread creation routine should be executed twice. So I tried to first end the notifier for the case, that the count variable "notifierCount" within Tcl_CreateNotifier() is already 1 which would cause that no notifier is created: Rivet_InitTclStuff(server_rec *s, apr_pool_t *p) { rivet_server_conf *rsc = RIVET_SERVER_CONF( s->module_config ); Tcl_FinalizeNotifier(NULL); Tcl_Interp *interp = Rivet_CreateTclInterp(s); ... This removed also the one nothifier thread owned by root but does not create one owned by apache used: In the upper ps -L aux, it removes LWP 19613 I also tried to add an explicite "Tcl_CreateNotifier(): Rivet_InitTclStuff(server_rec *s, apr_pool_t *p) { rivet_server_conf *rsc = RIVET_SERVER_CONF( s->module_config ); Tcl_FinalizeNotifier(NULL); Tcl_Interp *interp = Rivet_CreateTclInterp(s); Tcl_InitNotifier(); but this does not help... Sorry, Harald -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
