| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@63591 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@63159 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
"pool".
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@63158 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@63117 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
forking (aka, to "daemonize").
Detailed explanation: If we are only interested in detaching from the
controlling terminal, then we are only interested in creating a new
process group (or creating a new session, which implicitly creates a
new process group). In order to do so, we must _NOT_ already be
a process group leader. The only way to ensure that is true, we normally
will call fork() and allow the parent to exit, ensuring that the child
is at least a child of a process group leader (and not one itself).
Doing this by default prevents some process-watching tools from working
with Apache. Therefore, when calling apr_proc_detach with
APR_PROC_DETACH_FOREGROUND, the caller is taking responsibility
for _NOT_ being a process group leader, which is guaranteed by
such process management tools.
[A similiar patch was originally submitted Jos and later modifed by Aaron.]
Obtained from: Jos Backus <josb@cncdsl.com>
Submitted by: Aaron Bannert
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@63044 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
APR_PROGRAM_ENV: start the program using the caller's environment
APR_PROGRAM_PATH: search PATH for the program, use caller's env
(the normal APR_PROGRAM isolates the env and does not use PATH)
The BeOS, OS/2, and Win32 implementations are incomplete. These two
new forms just default back to APR_PROGRAM for now. (although BeOS
doesn't even distinguish between APR_SHELLCMD and APR_PROGRAM!)
On Unix and Netware, these map into execv() and execvp() calls.
Also clarified some doc for the enums in apr_thread_proc.h a bit.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62840 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
file descriptor and this new one will be closed when we clean up the pipe.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62829 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
result in the pipes for stdin/stdout/stderr being closed
immediately.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62497 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
comment with a litte information about the problem with
file cleanup conflicting with our pipe setup
Submitted by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62466 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
do exec cleanup before duping pipes to fds 0-2; otherwise,
any files cleaned up with those fds will hose our pipes;
typical symptom is APR_EOF in the parent when trying to read
child output
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62465 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
all of the non-portable W* macros from Apache.
Submitted by: Jeff Trawick and Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62455 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(I had a similar version in my tree. Kevin's wins out because of the
WIF macros. Are there any platforms that don't have this? The Solaris
man page seems to indicate that they must be called, so it seems correct.
Please check on your favorite platform.)
Submitted by: Kevin Pilch-Bisson <kevin@pilch-bisson.net>
Reviewed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62358 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
from Justin and Bill, plus a few additional tweaks.
Submitted by: Justin Erenkrantz <jerenkrantz@ebuilt.com>,
Bill Tutt <billtut@microsoft.com>
Reviewed by: Greg Stein
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62350 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
Submitted by: Sterling Hughes <sterling@designmultimedia.com>
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@62139 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@61451 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@61235 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
*) some other minor include tweaks
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@61208 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@61194 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
directory. This removes all temptation to include apr_private.h from
outside of APR, because it just isn't available. This also highlighted
a bunch of holes in our header file setup. Basically, just directories
that were never migrated to the curret setup.
Submitted by: Will Rowe and Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60919 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
going to change them. It is also quite possible that args are constant
strings (thus, we *definitely* better not change them).
"env" got the same treatment.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60795 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
the include directory. All private header files for APR are being moved.
This allows platforms that only implement some of the APR types to compile
cleanly.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60660 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/apr/apr/trunk@60599 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
the end of the parameters to execve() was stored in the wrong
location, overlaying the storage beyond the newargs[] array and
also passing uninitialized storage to execve(), which would
sometimes fail with EFAULT.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60532 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
just the structure or the RLIMIT_* defines. Also, we should make
the API function unixd_set_rlimit() ``available'' even if it
doesn't do anything.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60512 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/apr/apr/trunk@60481 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60470 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
The caller could get APR_ENOTIMPL when the limit was set; the
limit argument could be used for more than what the caller
specified.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60456 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/apr/apr/trunk@60398 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/apr/apr/trunk@60235 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
This also modifies the ap_detach function to look like unixd_detach.
Finally all calls to unixd_detach are changed to ap_detach.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60234 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
Unix because I can't find any other platforms with rlimit. If there are
other platforms that need this code, then some of the code needs to move.
This has just barely been tested, so it could probably use some good
testing.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60147 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
Windows was having problems with the original names.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60088 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
Only the prefork MPM has been ported so far, the rest of the Unix MPM's are
coming later today.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60087 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
child exit status by adding an exit status parameter to
ap_wait_all_procs(); with this change, the mpms use
ap_wait_all_procs() more like they previously used waitpid().
With the introduction of the exit status parameter, the definition
of ap_wait_t was moved from Apache to APR. There was some handling
of union wait for the type of the exit status parameter to waitpid()
which I retained (but cannot test). For WIN32, ap_wait_t was defined
as int (in apr.hw). No current Windows code uses ap_wait_t, but a
type is required so that references to ap_wait_t in apr_thread_proc.h
can compile on Windows.
Note: There is still a storage leak in the way that the Unix mpms call
ap_wait_all_procs()... this will be resolved at some later time.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60064 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
child process to die, and then returns that child's information.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60022 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@60005 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
APR_ENOPOOL
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59892 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we would want to use the same pool for the duplicated file as we used for
the original file. This should solve a problem we were having with
dieing quietly on startup, because we are no longer closing stderr in the
original process and then opening the config file as file descriptor 2.
The original problem report can be found in the message
<20000311232812.A1066@sanguine.linuxcare.com.au>
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59873 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
on Linux, but probably breaks somewhere.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59856 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59841 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
apr_variable declarations. This works on Unix, but a test compile
on other platforms would be a good idea.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59773 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
struct's where possible.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59769 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59754 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59713 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59688 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59628 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59564 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
makes sense to change the blocking attributes of a pipe if we actually
are successful in creating the pipe.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59501 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
Submitted by: Paul Reder
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59500 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
This patch allows us to set if both sides of the pipes are nonblocking,
both sides are blocking, just the parent side blocks, or just the child
side blocks for all three of the pipes created during create_process. I
have also modified Apache to take advantage of this change.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59499 13f79535-47bb-0310-9956-ffa450edef68
|