diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2000-12-27 00:13:57 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2000-12-27 00:13:57 +0000 |
commit | 8a93913d2652b0f3f42b5d2d9214e16a1f115494 (patch) | |
tree | b00e45a538ce607b2ee15c2b8b0994a2f154c17a /winsup/cygwin/include | |
parent | 2803e941b340e21113bfff9e22e1bc25ba5f9990 (diff) | |
download | cygnal-8a93913d2652b0f3f42b5d2d9214e16a1f115494.tar.gz cygnal-8a93913d2652b0f3f42b5d2d9214e16a1f115494.tar.bz2 cygnal-8a93913d2652b0f3f42b5d2d9214e16a1f115494.zip |
* cygwin.din: Add symbols for `getrlimit' and `setrlimit'.
* exceptions.cc (stackdump): Avoid creating stackdump when
`rlim_core' is 0.
* resource.cc: New global variable `rlim_core'.
(getrlimit): New function.
(setrlimit): Ditto.
include/cygwin/version.h: Bump minor API version to 32 due to
adding `getrlimit' and `setrlimit'.
include/sys/resource.h: Add defines, types and prototypes for
`getrlimit' and `setrlimit'.
Diffstat (limited to 'winsup/cygwin/include')
-rw-r--r-- | winsup/cygwin/include/cygwin/version.h | 3 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/resource.h | 23 |
2 files changed, 25 insertions, 1 deletions
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h index c41a9c3a1..0e51b31fd 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h @@ -122,10 +122,11 @@ details. */ 29: Export hstrerror 30: CW_GET_CYGDRIVE_INFO addition to external.cc 31: Export inet_aton + 32: Export getrlimit/setrlimit */ #define CYGWIN_VERSION_API_MAJOR 0 -#define CYGWIN_VERSION_API_MINOR 31 +#define CYGWIN_VERSION_API_MINOR 32 /* There is also a compatibity version number associated with the shared memory regions. It is incremented when incompatible diff --git a/winsup/cygwin/include/sys/resource.h b/winsup/cygwin/include/sys/resource.h index a709ec00f..1f859cf0f 100644 --- a/winsup/cygwin/include/sys/resource.h +++ b/winsup/cygwin/include/sys/resource.h @@ -7,6 +7,26 @@ extern "C" { #endif +#define RLIMIT_CPU 0 /* CPU time in seconds */ +#define RLIMIT_FSIZE 1 /* Maximum filesize */ +#define RLIMIT_DATA 2 /* max data size */ +#define RLIMIT_STACK 3 /* max stack size */ +#define RLIMIT_CORE 4 /* max core file size */ +#define RLIMIT_NOFILE 5 /* max number of open files */ +#define RLIMIT_OFILE RLIMIT_NOFILE /* BSD name */ +#define RLIMIT_AS 6 /* address space (virt. memory) limit */ + +#define RLIM_INFINITY (0xffffffffUL) +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + +typedef unsigned long rlim_t; + +struct rlimit { + rlim_t rlim_cur; + rlim_t rlim_max; +}; + #define RUSAGE_SELF 0 /* calling process */ #define RUSAGE_CHILDREN -1 /* terminated child processes */ @@ -30,6 +50,9 @@ struct rusage { #define ru_last ru_nivcsw }; +int getrlimit (int __resource, struct rlimit *__rlp); +int setrlimit (int __resource, const struct rlimit *__rlp); + int getrusage (int __who, struct rusage *__rusage); #ifdef __cplusplus |