You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Daniel Veillard <ve...@rufus.w3.org> on 1998/03/20 04:35:58 UTC
Re: mod_perl + threaded Perl
> Until linuxthreads stops using SIGUSR1, no. i.e. not in the linux 2.0/2.1
> time frames. I think even the glibc threads are broken this way too...
> and I consider it to be a library/kernel bug rather than apache bug
> because SIGUSR1 is supposed to be there for the application.
I agree but I need Posix threads on Linux within Apache-1.3 .
To avoid the problem I changed all references to SIGUSR1 to SIG_APACHE
(this "only" changes conf.h, http_config.c, http_main.c, http_protocol.c,
and test/time-sem.c).
In conf.h I remapped it to SIGUNUSED for Linux/glibc
-----------------------
/*
* Signal used for group communication : SIGUSR1 on most systems except
* linux ones with glibc wherewe use SIGUNUSED
*/
#ifndef SIG_APACHE
#ifdef linux
#include <signal.h>
#ifdef __GLIBC__
#define SIG_APACHE SIGUNUSED
#else
#define SIG_APACHE SIGUSR1
#endif
#else /* !linux */
#define SIG_APACHE SIGUSR1
#endif /* linux */
#endif /* SIG_APACHE */
----------------------------------------
However I didn't tested thoroughtly enough to certify that this is
valid/useful,
Daniel
Re: mod_perl + threaded Perl
Posted by Dean Gaudet <dg...@arctic.org>.
Yes this will work. It's a hack but it'll work. You may want to use
something other than SIGUNUSED, since that's not supported by kill(1) ;)
You could use SIGWINCH for example.
Dean
On Thu, 19 Mar 1998, Daniel Veillard wrote:
>
> > Until linuxthreads stops using SIGUSR1, no. i.e. not in the linux 2.0/2.1
> > time frames. I think even the glibc threads are broken this way too...
> > and I consider it to be a library/kernel bug rather than apache bug
> > because SIGUSR1 is supposed to be there for the application.
>
> I agree but I need Posix threads on Linux within Apache-1.3 .
> To avoid the problem I changed all references to SIGUSR1 to SIG_APACHE
> (this "only" changes conf.h, http_config.c, http_main.c, http_protocol.c,
> and test/time-sem.c).
> In conf.h I remapped it to SIGUNUSED for Linux/glibc
> -----------------------
> /*
> * Signal used for group communication : SIGUSR1 on most systems except
> * linux ones with glibc wherewe use SIGUNUSED
> */
> #ifndef SIG_APACHE
> #ifdef linux
> #include <signal.h>
> #ifdef __GLIBC__
> #define SIG_APACHE SIGUNUSED
> #else
> #define SIG_APACHE SIGUSR1
> #endif
> #else /* !linux */
> #define SIG_APACHE SIGUSR1
> #endif /* linux */
> #endif /* SIG_APACHE */
> ----------------------------------------
>
> However I didn't tested thoroughtly enough to certify that this is
> valid/useful,
>
> Daniel
>
>
>
>