--- dvd+rw-tools-7.0/mp.h.pthread 2006-09-23 19:45:50.000000000 +0200
+++ dvd+rw-tools-7.0/mp.h 2006-12-14 15:48:45.000000000 +0100
@@ -31,15 +31,19 @@
#include <sched.h>
#include <semaphore.h>
#include <stdlib.h>
+#include <limits.h>
#define THR_TYPE int
static void *__thread_create(int (*func)(void *),void *arg)
{ pthread_t h;
pthread_attr_t attr;
+ size_t stack_sz;
+
+ stack_sz = (PTHREAD_STACK_MIN > 64*1024) ? PTHREAD_STACK_MIN : 64*1024;
if (pthread_attr_init(&attr)==0 &&
- pthread_attr_setstacksize(&attr,64*1024)==0 &&
+ pthread_attr_setstacksize(&attr,stack_sz)==0 &&
pthread_attr_setscope(&attr,PTHREAD_SCOPE_SYSTEM)==0 &&
pthread_create(&h,&attr,(void *(*)(void *))func,arg)==0 )
return (void *)h;