dgaudet 98/02/20 17:42:41
Modified: src/include conf.h http_core.h
src/main http_core.c util_script.c
Log:
RLIMIT_AS is part of Single Unix... and presumably posix as well. So it
makes sense to support it everywhere rather than just on Linux. So treat
it like RLIMIT_VMEM and RLIMIT_DATA.
Revision Changes Path
1.182 +0 -7 apache-1.3/src/include/conf.h
Index: conf.h
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -r1.181 -r1.182
--- conf.h 1998/02/18 20:52:55 1.181
+++ conf.h 1998/02/21 01:42:36 1.182
@@ -372,13 +372,6 @@
typedef int rlim_t;
#endif
-/* Linux 2.0 and above implement the new posix RLIMIT_AS rather than the
- * older BSD semantics (some would actually call this a bug, like me -djg).
- */
-#ifndef RLIMIT_VMEM
-#define RLIMIT_VMEM RLIMIT_AS
-#endif
-
/* flock is faster ... but hasn't been tested on 1.x systems */
#define USE_FLOCK_SERIALIZED_ACCEPT
1.36 +1 -1 apache-1.3/src/include/http_core.h
Index: http_core.h
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/include/http_core.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- http_core.h 1998/02/02 19:46:55 1.35
+++ http_core.h 1998/02/21 01:42:36 1.36
@@ -202,7 +202,7 @@
#ifdef RLIMIT_CPU
struct rlimit *limit_cpu;
#endif
-#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM)
+#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
struct rlimit *limit_mem;
#endif
#ifdef RLIMIT_NPROC
1.162 +10 -8 apache-1.3/src/main/http_core.c
Index: http_core.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -r1.161 -r1.162
--- http_core.c 1998/02/20 10:51:34 1.161
+++ http_core.c 1998/02/21 01:42:39 1.162
@@ -127,7 +127,7 @@
#ifdef RLIMIT_CPU
conf->limit_cpu = NULL;
#endif
-#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM)
+#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
conf->limit_mem = NULL;
#endif
#ifdef RLIMIT_NPROC
@@ -207,7 +207,7 @@
#ifdef RLIMIT_CPU
if (new->limit_cpu) conf->limit_cpu = new->limit_cpu;
#endif
-#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM)
+#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
if (new->limit_mem) conf->limit_mem = new->limit_mem;
#endif
#ifdef RLIMIT_NPROC
@@ -1560,7 +1560,7 @@
}
-#if defined(RLIMIT_CPU) || defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) ||
defined(RLIMIT_NPROC)
+#if defined(RLIMIT_CPU) || defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) ||
defined(RLIMIT_NPROC) || defined(RLIMIT_AS)
static void set_rlimit(cmd_parms *cmd, struct rlimit **plimit, const char
*arg,
const char * arg2, int type)
{
@@ -1612,7 +1612,7 @@
}
#endif
-#if !defined (RLIMIT_CPU) || !(defined (RLIMIT_DATA) || defined
(RLIMIT_VMEM)) || !defined (RLIMIT_NPROC)
+#if !defined (RLIMIT_CPU) || !(defined (RLIMIT_DATA) || defined
(RLIMIT_VMEM) || defined(RLIMIT_AS)) || !defined (RLIMIT_NPROC)
static const char *no_set_limit (cmd_parms *cmd, core_dir_config *conf,
char *arg, char *arg2)
{
@@ -1630,12 +1630,14 @@
}
#endif
-#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM)
+#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
const char *set_limit_mem (cmd_parms *cmd, core_dir_config *conf, char *arg,
char * arg2)
{
-#ifdef RLIMIT_DATA
+#if defined(RLIMIT_AS)
+ set_rlimit(cmd,&conf->limit_mem,arg,arg2,RLIMIT_AS);
+#elif defined(RLIMIT_DATA)
set_rlimit(cmd,&conf->limit_mem,arg,arg2,RLIMIT_DATA);
-#else
+#else defined(RLIMIT_VMEM)
set_rlimit(cmd,&conf->limit_mem,arg,arg2,RLIMIT_VMEM);
#endif
return NULL;
@@ -1898,7 +1900,7 @@
#endif
OR_ALL, TAKE12, "soft/hard limits for max CPU usage in seconds" },
{ "RLimitMEM",
-#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM)
+#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined (RLIMIT_AS)
set_limit_mem, (void*)XtOffsetOf(core_dir_config, limit_mem),
#else
no_set_limit, NULL,
1.95 +10 -6 apache-1.3/src/main/util_script.c
Index: util_script.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- util_script.c 1998/02/01 22:05:38 1.94
+++ util_script.c 1998/02/21 01:42:40 1.95
@@ -589,7 +589,7 @@
{
int pid = 0;
#if defined(RLIMIT_CPU) || defined(RLIMIT_NPROC) || \
- defined(RLIMIT_DATA) || defined(RLIMIT_VMEM)
+ defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined (RLIMIT_AS)
core_dir_config *conf =
(core_dir_config *) get_module_config(r->per_dir_config, &core_module);
@@ -614,17 +614,21 @@
aplog_error(APLOG_MARK, APLOG_ERR, r->server,
"setrlimit: failed to set process limit");
#endif
-#ifdef RLIMIT_DATA
+#if defined(RLIMIT_AS)
+ if (conf->limit_mem != NULL)
+ if ((setrlimit(RLIMIT_AS, conf->limit_mem)) != 0)
+ aplog_error(APLOG_MARK, APLOG_ERR, r->server,
+ "setrlimit(RLIMIT_AS): failed to set memory usage
limit");
+#elif defined(RLIMIT_DATA)
if (conf->limit_mem != NULL)
if ((setrlimit(RLIMIT_DATA, conf->limit_mem)) != 0)
aplog_error(APLOG_MARK, APLOG_ERR, r->server,
- "setrlimit: failed to set memory usage limit");
-#endif
-#ifdef RLIMIT_VMEM
+ "setrlimit(RLIMIT_DATA): failed to set memory usage
limit");
+#elif defined(RLIMIT_VMEM)
if (conf->limit_mem != NULL)
if ((setrlimit(RLIMIT_VMEM, conf->limit_mem)) != 0)
aplog_error(APLOG_MARK, APLOG_ERR, r->server,
- "setrlimit: failed to set memory usage limit");
+ "setrlimit(RLIMIT_VMEM): failed to set memory usage
limit");
#endif
#ifdef __EMX__