| From 5074ab3425e5f1e01fd9cfa2d9b7300ea1b3f38f Mon Sep 17 00:00:00 2001 |
| From: Paul Eggleton <paul.eggleton@linux.intel.com> |
| Date: Tue, 17 Jul 2012 11:27:39 +0100 |
| Subject: [PATCH] apache2: bump up the core size limit if CoreDumpDirectory is |
| configured |
| |
| Bump up the core size limit if CoreDumpDirectory is |
| configured. |
| |
| Upstream-Status: Pending |
| |
| Note: upstreaming was discussed but there are competing desires; |
| there are portability oddities here too. |
| --- |
| server/core.c | 19 +++++++++++++++++++ |
| 1 file changed, 19 insertions(+) |
| |
| diff --git a/server/core.c b/server/core.c |
| index 090e397..3020090 100644 |
| --- a/server/core.c |
| +++ b/server/core.c |
| @@ -5107,6 +5107,25 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte |
| } |
| apr_pool_cleanup_register(pconf, NULL, ap_mpm_end_gen_helper, |
| apr_pool_cleanup_null); |
| + |
| +#ifdef RLIMIT_CORE |
| + if (ap_coredumpdir_configured) { |
| + struct rlimit lim; |
| + |
| + if (getrlimit(RLIMIT_CORE, &lim) == 0 && lim.rlim_cur == 0) { |
| + lim.rlim_cur = lim.rlim_max; |
| + if (setrlimit(RLIMIT_CORE, &lim) == 0) { |
| + ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, |
| + "core dump file size limit raised to %lu bytes", |
| + lim.rlim_cur); |
| + } else { |
| + ap_log_error(APLOG_MARK, APLOG_NOTICE, errno, NULL, |
| + "core dump file size is zero, setrlimit failed"); |
| + } |
| + } |
| + } |
| +#endif |
| + |
| return OK; |
| } |
| |
| -- |
| 2.25.1 |
| |