The error is correctly raised and I wonder why other builds didn't notice it. What C compiler are they using? The good news is the whole function could be removed because it's not used. It was meant to clean up the resources of a thread but as long as Tcl interpreters cannot be safely deleted we cannot simply let single threads exit cleaning everything left behind, we must terminate a whole process.

Handling a whole process termination is just about making possible to applications to clean up their own resources but it makes the problem of memory leaks of mod_rivet internal stuff easy to handle. Nonetheless I tried as much as possible to look ahead when Tcl is able to consistently release Tcl interpreters, that would offer the chance to design flexible threaded bridges.

 -- Massimo


On 02/16/2018 07:01 PM, Harald Oehlmann wrote:
Dear Friends,

OBS build for Scientific Linux for 3.0.1 started but fails unfortunately
in compilation.

See overview of all platforms:
https://build.opensuse.org/package/show/home:oehhar/apache2-mod_rivet

Here is the ScientificLinux 7 compile error:

[   62s] libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I..
-I./mod_rivet_ng -I./request -I/usr/include -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
--param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic
-I/usr/include/httpd -I/usr/include/apr-1 -I/usr/include/apr-1 -DLINUX
-D_REENTRANT -D_GNU_SOURCE "-DSTART_TAG=\"<?\"" "-DEND_TAG=\"?>\""
-DUSE_TCL_STUBS -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
-m64 -mtune=generic -pipe -O2 -fomit-frame-pointer -Wall -fPIC -c
librivet/rivetWWW.c  -fPIC -DPIC -o librivet/.libs/librivetlib_la-rivetWWW.o
[   62s] In file included from mod_rivet_ng/mod_rivet.h:31:0,
[   62s]                  from mod_rivet_ng/worker_prefork_common.c:26:
[   62s] mod_rivet_ng/worker_prefork_common.c: In function
'Rivet_ProcessorCleanup':
[   62s] mod_rivet_ng/worker_prefork_common.c:308:13: error: request for
member 'refCount' in something not a structure or union
[   62s]              Tcl_DecrRefCount(Tcl_GetHashValue(entry)); /* Let
Tcl clear the mem allocated */
[   62s]              ^

Has anybody an idea ?

Thank you,
Harald




---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org

Reply via email to