support it. This defines a symbol called AP_SIG_GRACEFUL in
ap_config_auto.h which will have the appropriate signal value. All
direct references to SIGWINCH have been replaced with AP_SIG_GRACEFUL.
On Linux 2.0, use SIGWINCH instead since SIGUSR1 is used by glibc
2.0's user-space threading library to control threads. All later
versions of Linux/glibc don't have this problem. (Not to mention the
security holes in older Linux versions which make it unsuitable for
use as a web server.) If your platform doesn't have SIGUSR1, use the
appropriate mojo in configure to define what your graceful restart
signal should be.
In theory, a configure switch could be added to allow the admin to
specify the appropriate signal that should be used. This is left
as an exercise to the reader for now.
The docs need to be updated. Since the signal is now configurable,
just saying SIGUSR1 for graceful restart isn't completely true. Also,
the apachectl functionality needs to be moved into httpd - this is
what Win32 does and it makes us consistent across platforms.
Roy issued a veto against use of SIGWINCH by default, so this should
resolve that veto.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91076 13f79535-47bb-0310-9956-ffa450edef68
AP[RU]_DECLARE macros. This commit gets mod_cgid working again as a DSO on
AIX.
However, this brings up the need to look for any functions that are
available as part of the API, and AP[RU]_DECLAREing them, so things don't
blow up in DSOs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89790 13f79535-47bb-0310-9956-ffa450edef68
a change in APR otherchild.c to unregister all OC registrations as
part of pool cleanup. This means that we must NOT explicitly call
apr_proc_other_child_unregister out of other pool clean-up routines.
In this case, the OC cleanup was being called first then the piped_log_cleanup
was being called which called apr_proc_other_child_unregister.
We could fix this by detecting the case when there are no more OCs registered
in apr_proc_other_child_unregister but that might just mask other problems we
need to fix anyway.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89133 13f79535-47bb-0310-9956-ffa450edef68
- explicitly include apr_lib.h since ap_config.h doesn't
- use apr_want.h where possible
- use APR_HAVE_ where possible
- remove some unneeded includes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88060 13f79535-47bb-0310-9956-ffa450edef68
apr_stat/lstat/getfileinfo. These are -NOT- optimal, they
are simply the required changes to get the server working.
The size of the patch is a warning about how we need to
really look at what we are trying to accomplish with all
of these stat/lstat calls.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87760 13f79535-47bb-0310-9956-ffa450edef68
files need to specifically include stdio.h, or a particular apr_*.h
header.
*) Adjust callers of apr_create_process() to deal with the extra "const"
*) Add "const" to args of ap_os_create_privileged_process()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87080 13f79535-47bb-0310-9956-ffa450edef68
1) cleans up an annoying type that was getting in my way while I was
trying to fix things.
2) Makes some of the allocations pcalloc instead of palloc
3) The arg array passed to create_process is a const *char *, not
const *char [].
PR: 6642
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86640 13f79535-47bb-0310-9956-ffa450edef68
for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
All _VAR_ flavors changes to _DATA to be absolutely clear.
Thank you Greg, for the most obvious suggestion.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86609 13f79535-47bb-0310-9956-ffa450edef68
see src/lib/apr/apr_compat.h for most details.
Also a few minor nits to get Win32 to build.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86008 13f79535-47bb-0310-9956-ffa450edef68
null terminator, and this patch sets aside whatever space is needed
for the newline termination.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85880 13f79535-47bb-0310-9956-ffa450edef68
apr.h (defined in apr.h.in and apr.hw). This is needed -only- in APR
created files (true raw files) such as logs. It is not required in any
splat to screen (stderr/stdout) formatting, nor any html markup.
Some other modules slipped through in the prior apr_strings.h commit.
Sorry 'bout that.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85878 13f79535-47bb-0310-9956-ffa450edef68
create a new header for those functions. This is the first step to
removing the apr/lib directory completely, and moving those files/functions
to descriptive directories.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85867 13f79535-47bb-0310-9956-ffa450edef68
Include time.h for time().
This removes a bunch of compiler warnings with gcc -Wall on AIX.
Submitted by: Jeff Trawick, Victor Orlikowski
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85723 13f79535-47bb-0310-9956-ffa450edef68
blocking (previously, both handles were non-blocking).
ap_set_pipe_timeout() is now the only way to manipulate the
blocking state of the pipe. Pass -1 for timeout to make it
blocking; pass 0 for timeout to make it non-blocking.
ap_block_pipe() is gone.
A few minor bugs were fixed along the way.
OS-specific notes:
non-Unix in general:
Only Unix/BeOS currently has the optimization to keep track of the blocking
state. This is used to avoid syscalls as well as to handle ap_put_os_file(),
which is a case where we don't know the blocking state of the handle we are
given.
OS/2:
ap_set_pipe_timeout() with timeout value > 0: The code didn't play with
the blocking state before and it doesn't still. I did add logic for special
timeout values 0 and -1 to play with the blocking state.
ap_create_pipe(): old logic didn't do anything with the blocking state
of the second handle; it still doesn't; hopefully it is blocking
pre-BONE BEOS:
old code to make a pipe non-blocking was a no-op; now it returns
APR_ENOTIMPL
BONE: old code to make a pipe non-blocking; it passed &zero as the
parm to FIONBIO instead of &one; this bug was fixed
Win32:
The pipe was always created blocking before; no change
previously, ap_setprocattr_io() ignored the blocking flag; now it
respects it like other platforms and calls ap_set_pipe_timeout(p,0)
on appropriate pipe handles (Bill Stoddard was just working in
ap_set_pipe_timeout(), so I presume this is golden)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85637 13f79535-47bb-0310-9956-ffa450edef68
perror() was converted to ap_log_error(), which will interpret the
specified APR error code properly.
The existing ap_log_error() call was changed so that the message is
formatted properly. Note that this call is made from the mpm after
we detach from the foreground process, so it can only appear in the
log.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85551 13f79535-47bb-0310-9956-ffa450edef68
around the creation of the httpd.pid file. Pass explicit permissions to
ap_open(), omitting write-ability except by the owning user. As always,
we end up with rw-r--r-- for the permissions unless the umask is something
unusual.
Note that the OS/2 and Win32 implementations of ap_open() ignore the
permissions parameter altogether.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85550 13f79535-47bb-0310-9956-ffa450edef68
umask to be used when creating files. This should change the permissions
of files created using APR_DEFAULT_OS. Also removed a warning introduced
with the sys/stat.h changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85537 13f79535-47bb-0310-9956-ffa450edef68
fine with standard errno values, and it is more portable. This also allows
me to remove the check for strerror from Apache's configure script.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85486 13f79535-47bb-0310-9956-ffa450edef68