diff --git a/config/configure.host b/config/configure.host index c2dc888..2cb26b1 100644 --- a/config/configure.host +++ b/config/configure.host @@ -141,6 +141,7 @@ case "${host_os}" in ;; darwin*) os_include_dir="os/macosx" + JACK_THREAD_STACK_TOUCH=10000 # need small realtime stack OS_LDFLAGS="-framework CoreAudio" TRY_POSIX_SHM=yes # POSIX shm works better on darwin ;; diff --git a/config/os/generic/os_defines.h b/config/os/generic/os_defines.h index 456137a..923eebc 100644 --- a/config/os/generic/os_defines.h +++ b/config/os/generic/os_defines.h @@ -23,7 +23,6 @@ #ifndef _jack_os_defines #define _jack_os_defines 1 -#define JACK_THREAD_STACK_TOUCH 1048576 #define PORTAUDIO_H #define GETOPT_H diff --git a/config/os/macosx/os_defines.h b/config/os/macosx/os_defines.h index d73c63a..c6a7c29 100644 --- a/config/os/macosx/os_defines.h +++ b/config/os/macosx/os_defines.h @@ -23,8 +23,6 @@ #ifndef _jack_os_defines #define _jack_os_defines 1 -/* a bigger process stack makes the application crash... */ -#define JACK_THREAD_STACK_TOUCH 10000 #define JACK_CPP_VARARGS_BROKEN 1 #define JACK_USE_MACH_THREADS 1 #define JACK_DO_NOT_MLOCK 1 diff --git a/configure.in b/configure.in index ce2962d..f6bd539 100644 --- a/configure.in +++ b/configure.in @@ -15,7 +15,7 @@ dnl changes are made dnl --- JACK_MAJOR_VERSION=0 JACK_MINOR_VERSION=96 -JACK_MICRO_VERSION=0 +JACK_MICRO_VERSION=1 dnl --- dnl HOWTO: updating the jack protocol version @@ -77,6 +77,9 @@ AM_PROG_LIBTOOL AC_PROG_LN_S AC_C_BIGENDIAN +# default OS variables +JACK_THREAD_STACK_TOUCH=1000000 + # configure CPU and OS dependencies for host platform AC_MSG_CHECKING([platform dependencies]) source $srcdir/config/configure.host @@ -85,6 +88,11 @@ AC_SUBST(OS_LDFLAGS) AC_SUBST(os_include_dir) AC_SUBST(cpu_include_dir) +# config.h variables +AC_DEFINE_UNQUOTED(JACK_THREAD_STACK_TOUCH, + [${JACK_THREAD_STACK_TOUCH}], + [guaranteed size of realtime stack]) + AC_CHECK_HEADERS(string.h strings.h) AC_CHECK_FUNC(getopt_long, , @@ -96,9 +104,14 @@ AC_CHECK_FUNCS(on_exit atexit) AC_CHECK_FUNCS(posix_memalign) # look for system support for POSIX shm API -AC_ARG_ENABLE(posix-shm, [ --enable-posix-shm use POSIX shm API ], - TRY_POSIX_SHM=$enableval , ) - +AC_ARG_ENABLE(posix-shm, + AC_HELP_STRING([--enable-posix-shm], [use POSIX shm API]), + [TRY_POSIX_SHM=$enableval]) +if test "x$TRY_POSIX_SHM" = "xyes" +then + AC_CHECK_FUNC(shm_open, , + AC_CHECK_LIB(rt, shm_open, , [TRY_POSIX_SHM=no])) +fi AC_MSG_CHECKING([shared memory support]) if test "x$TRY_POSIX_SHM" = "xyes" then diff --git a/libjack/client.c b/libjack/client.c index 59575f4..2f3927d 100644 --- a/libjack/client.c +++ b/libjack/client.c @@ -57,11 +57,7 @@ JACK_TIME_GLOBAL_DECL; /* One instance per process. */ #include #endif /* WITH_TIMESTAMPS */ -#ifdef DEFAULT_TMP_DIR char *jack_server_dir = DEFAULT_TMP_DIR; -#else -char *jack_server_dir = "/tmp"; -#endif void jack_set_server_dir (const char *path) @@ -1343,7 +1339,7 @@ jack_start_thread (jack_client_t *client) } #endif /* JACK_DO_NOT_MLOCK */ } - + #ifdef JACK_USE_MACH_THREADS if (pthread_create (&client->thread, attributes, diff --git a/libjack/shm.c b/libjack/shm.c index 420f607..f1fdea9 100644 --- a/libjack/shm.c +++ b/libjack/shm.c @@ -132,7 +132,7 @@ jack_cleanup_shm (void) jack_shm_unlock_registry (); } -#if USE_POSIX_SHM +#ifdef USE_POSIX_SHM int jack_initialize_shm (void)