Bläddra i källkod

- avoid segfaulting when rlimit stack is set to low for gen_wctype by calling setrlimit(RLIMIT_STACK, &limit)

Ned Ludd 19 år sedan
förälder
incheckning
5533874b8f
1 ändrade filer med 12 tillägg och 0 borttagningar
  1. 12 0
      extra/locale/gen_wctype.c

+ 12 - 0
extra/locale/gen_wctype.c

@@ -10,6 +10,10 @@
 #include <wchar.h>
 #include <ctype.h>
 
+#ifdef __linux__
+#include <sys/resource.h>
+#endif
+
 #ifndef _CTYPE_H
 #define _CTYPE_H
 #endif
@@ -243,6 +247,14 @@ int main(int argc, char **argv)
 	static const char empty_slot[] = "empty_slot";
 	int built = 0;
 
+#ifdef __linux__
+	struct rlimit limit;
+
+	limit.rlim_max = RLIM_INFINITY;
+	limit.rlim_cur = RLIM_INFINITY;
+	setrlimit(RLIMIT_STACK, &limit);
+#endif
+
 #define INIT_TYPENAME(X) typename[__CTYPE_##X] = "C_" #X
 
 	for (i=0 ; i < 16 ; i++) {