with ap_ (this symbol must be exported.) If the others were desired to be
public, they should have been ap_xxx decorated.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@154216 13f79535-47bb-0310-9956-ffa450edef68
AP_REGKEY_CREATE flag wasn't passed for ap_regkey_open (when the key
is expected to not yet exist), and adds the new flags arg to value_set.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95937 13f79535-47bb-0310-9956-ffa450edef68
The answer was really trivial. Unlike all other cases where you
expect to send argv[0] and get argv[0] in the created process,
the service control manager (SCM) just don't work like that.
StartService() argv passed must not include an element zero.
Element zero is inserted by the SCM, containing the service name,
without any help from the outside.
Only reason this bug 'appeared' is that Jeff's patch introduced
a bit of strictness to refuse arguments without a flag.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95526 13f79535-47bb-0310-9956-ffa450edef68
to begin logging errors immediately. This provides Win32 users
an alternative to sending startup errors to the event viewer, and
allows other daemon tool authors an alternative to logging to stderr.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94681 13f79535-47bb-0310-9956-ffa450edef68
to the service_init completion, expanded timeouts, moved SERVICE_STOPPED
message posting to the main thread since sometimes, in odd cirumstances,
our SCM thread wasn't resumed prior to termination, and ripped the code
for the stderr logs to use nt_eventlog.c instead. And generally tried
to make the code just a little bit more grokable [as if such a thing
is really possible.]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93928 13f79535-47bb-0310-9956-ffa450edef68
on Win32 when using the clib; msvcrt has its own initialization and
destruction, so it needs its own turn. _createthreadex is the same but
different - it's implemented by msvcrt and causes all the appropriate
setup and teardown to occur.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93385 13f79535-47bb-0310-9956-ffa450edef68
obscure and difficult to trace. This should do away with the handle
corruption we experienced. If anyone cares to walk the crt (source
is installed in vc\src\crt if you install it w/ Visual C++/Studio)
it's worth understanding why this occured.
This patch
1. creates the pipe non-inherited, and dups the write end
for inheritence with limited permissions.
2. sets the STD_ERROR_HANDLE _after_ we fixup the FILE *stderr and fd 2.
3. Splits the signal_monitor event in two, service_init/service_term
for clarity and correctness.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93374 13f79535-47bb-0310-9956-ffa450edef68
be longlived malloced regions, or sit upon the stack. No need to mess
with pool conflicts.
The remaining pool accesses are still a problem to resolve.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93327 13f79535-47bb-0310-9956-ffa450edef68
only in the service-mode. SetServiceDescription was borked, now fixed.
Since we don't use the posix/libc style stderr, I've also pitched that
code, which was causing an exception.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93326 13f79535-47bb-0310-9956-ffa450edef68
warning C4715: 'mpm_service_install' : not all control paths return a value
it would result in a bogus exit status from apache when invoked to install
the service
Submitted by: Ian Holsman <IanH@cnet.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89129 13f79535-47bb-0310-9956-ffa450edef68
const-ness since we sometimes put "some string" in there, and also the CRT's
argv). propagate this change within http_main and mpm/winnt/ (also correct
some other const type usage within the MPM).
fix ab's call to parse_url() which removed a const to actually manipulate an
arg from the CRT's argv (indirectly via opt->arg). no idea how this has
avoided segfaulting.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87130 13f79535-47bb-0310-9956-ffa450edef68
options (now -k install|uninstall), and best yet, restart the console
mode server on Ctrl+Break (Ctrl+C still stops it.)
At least this is the second half - sorry I missed a bit.
Submitted by: John Sterling <sterling@covalent.net>
Reviewed by: William Rowe
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86821 13f79535-47bb-0310-9956-ffa450edef68
The reason is really, really simple. If we ever choose to mix clib and
dos error codes, they criss-cross and don't line up, but they share the
same number space. As I wrote the new APR_IS_ERROR macros, I realized
we were about to shoot ourselves in the foot.
These changes nearly entirely affect Win32 only. The next big patch will
affect all of the rv == APR_ENOENT type problems throughout the system.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86416 13f79535-47bb-0310-9956-ffa450edef68