format (TOML) including MMN information.
* modules/core/mod_so.c (print_mod_data): New function.
(dump_loaded_modules): Use it if DUMP_MODULE_DATA is defined.
* docs/manual/programs/httpd.xml: Move -DDUMP_* docs to a new
section, cover the above new option.
Github: closes#537
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1926737 13f79535-47bb-0310-9956-ffa450edef68
enough not space to store the macro. Replaced MAX_STRING_LEN by
sizeof(line).
PR: 69258
Submitted by: Marc Stern <marc.stern approach-cyber.com>
Github: closes#479
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1920588 13f79535-47bb-0310-9956-ffa450edef68
*) core/mpm_preform: do not invoke the fancy new child_stopping/stopped
hooks when invoked from a signal handler. This is a stopgap to some
strange behaviour in need of some deeper insight.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898418 13f79535-47bb-0310-9956-ffa450edef68
#define ap_thread_create, ap_thread_current_create and ap_thread_current to
their apr-1.8+ equivalent if available, or implement them using the compiler's
thread_local mechanism if available, or finally provide stubs otherwise.
#define AP_HAS_THREAD_LOCAL to 1 in the two former case or 0 otherwise, while
AP_THREAD_LOCAL is defined to the compiler's keyword iff AP_HAS_THREAD_LOCAL.
Replace all apr_thread_create() calls with ap_thread_create() so that httpd
threads can use ap_thread_current()'s pool data as Thread Local Storage.
Bump MMN minor.
* include/httpd.h():
Define AP_HAS_THREAD_LOCAL, AP_THREAD_LOCAL (eventually), ap_thread_create(),
ap_thread_current_create() and ap_thread_current().
* server/util.c:
Implement ap_thread_create(), ap_thread_current_create() and
ap_thread_current() when APR < 1.8.
* modules/core/mod_watchdog.c, modules/http2/h2_workers.c,
modules/ssl/mod_ssl_ct.c:
Use ap_thread_create() instead of apr_thread_create.
* server/main.c:
Use AP_HAS_THREAD_LOCAL and ap_thread_current_create instead of APR's.
* server/util_pcre.c:
Use AP_HAS_THREAD_LOCAL and ap_thread_current instead of APR's.
* server/mpm/event/event.c, server/mpm/worker/worker.c,
server/mpm/prefork/prefork.c:
Use ap_thread_create() instead of apr_thread_create.
Create an apr_thread_t/ap_thread_current() for the main chaild thread usable
at child_init().
* server/mpm/winnt/child.c:
Use ap_thread_create() instead of CreateThread().
Create an apr_thread_t/ap_thread_current() for the main chaild thread usable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897460 13f79535-47bb-0310-9956-ffa450edef68
ap_server_root_relative() can fail if apr_filepath_merge fails,
which can happen with a "bad" drive/volume or who knows what
else on Windows. Regardless, if !fullname we are already
going to retry wih what was actually passed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1880461 13f79535-47bb-0310-9956-ffa450edef68
thread cleanup running before the thread has started, avoiding
mutex operations which both have undefined behaviour:
a) double-locking an UNNESTED (non-recursive) mutex twice in the parent
b) unlocking a mutex in the spawned thread which was locked by the parent
(wd_startup, wd_worker_cleanup, wd_worker): Use a boolean to ensure
the cleanup does nothing if the thread wasn't started, drop the mutex.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1876511 13f79535-47bb-0310-9956-ffa450edef68
PR 57525.
Reverts pre_config hook from r1656669 (happens too late for EXEC_ON_READ), and
ensures ap_macros is reset on restart with a pconf cleanup.
Proposed by: Jose Kahan <jose w3.org>
Reviewed by: ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1813643 13f79535-47bb-0310-9956-ffa450edef68
on startup or restart when the module is linked statically. PR 57525
Submitted by: apache.org tech.futurequest.net
Committed by: Yann Ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1656669 13f79535-47bb-0310-9956-ffa450edef68
Refactor some lines to keep APLOGNO on the same line as ap_log_error, when applicable.
Split lines longer than 80.
Improve alignment.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1612068 13f79535-47bb-0310-9956-ffa450edef68
This module was created in 1998 and has been distributed independently
ever since. It is hereby donated to the Apache Software Foundation.
There are quite a few comments in the source code to explain how it works,
as well as extensive non regression tests.
Some utilities about array processing could be moved to "core.c".
However, I finally decided against for now so that it stays as an external
and independent module, and thus may be backported with minimal impact
on the source tree.
Details of the addition:
* modules/core/mod_macro.c: module source code
* modules/core/test: non regression tests
modules/core/test/conf/: configuration files
modules/core/test/ref/: expected results
* docs/manual/mod/mod_macro.xml: English documentation
* docs/manual/mod/mod_macro.xml.fr: French documentation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1435811 13f79535-47bb-0310-9956-ffa450edef68