From b26d2dd46a417f16c9959584ef6cd1fb97edbc38 Mon Sep 17 00:00:00 2001 From: trutkin Date: Mon, 23 Aug 2004 01:26:30 +0000 Subject: [PATCH] Readline patch from rjo. Multi-user patch from Kjetil. Changed output of --version for better parsing. git-svn-id: svn+ssh://jackaudio.org/trunk/jack@739 0c269be4-1314-0410-8aa9-9f06e86f4224 --- configure.in | 10 ++++------ jack/Makefile.am | 11 ++++++----- jackd/engine.c | 15 ++++++++++----- jackd/jackd.c | 11 ++++++++--- libjack/client.c | 8 ++++---- 5 files changed, 32 insertions(+), 23 deletions(-) diff --git a/configure.in b/configure.in index 29b0c40..f9da11b 100644 --- a/configure.in +++ b/configure.in @@ -15,7 +15,7 @@ dnl changes are made dnl --- JACK_MAJOR_VERSION=0 JACK_MINOR_VERSION=98 -JACK_MICRO_VERSION=9 +JACK_MICRO_VERSION=10 dnl --- dnl HOWTO: updating the jack protocol version @@ -50,6 +50,7 @@ AC_SUBST(JACK_MINOR_VERSION) AC_SUBST(JACK_MICRO_VERSION) AC_SUBST(JACK_PROTOCOL_VERSION) +AC_DEFINE_UNQUOTED(PROTOCOL_VERSION, "$JACK_PROTOCOL_VERSION", [Protocol version]) AC_SUBST(JACK_API_MAJOR_VERSION) AC_SUBST(JACK_API_MINOR_VERSION) @@ -164,9 +165,6 @@ dnl dnl ---------------------------------------------------------------------- - -dnl ---------------------------------------------------------------------- - if test "$target_cpu" = "powerpc"; then @@ -245,7 +243,7 @@ if test "x$enable_mmx" = xyes; then ) fi - AC_DEFINE(x86, 1, "Nope its intel") + AC_DEFINE(x86, 1, "Nope it's intel") COMMON_X86_OPT_FLAGS="-DREENTRANT -O3 -fomit-frame-pointer -ffast-math -funroll-loops -fmove-all-movables" if test "$target_cpu" = "i586"; then @@ -517,7 +515,7 @@ fi # the cached result to work around this problem. READLINE_DEPS="" HAVE_READLINE=true -AC_CHECK_LIB(readline, readline, [], +AC_CHECK_LIB(readline, readline, [:], [unset ac_cv_lib_readline_readline AC_CHECK_LIB(readline, readline, [READLINE_DEPS="-ltermcap"], [unset ac_cv_lib_readline_readline diff --git a/jack/Makefile.am b/jack/Makefile.am index 1583981..90ff6a1 100644 --- a/jack/Makefile.am +++ b/jack/Makefile.am @@ -4,16 +4,16 @@ libjackincludedir = $(includedir)/jack libjackinclude_HEADERS = \ jack.h \ - ringbuffer.h \ - timestamps.h \ + ringbuffer.h \ + timestamps.h \ transport.h \ types.h -noinst_HEADERS = \ +noinst_HEADERS = \ atomicity.h \ driver.h \ driver_interface.h \ - driver_parse.h \ + driver_parse.h \ engine.h \ hardware.h \ internal.h \ @@ -21,7 +21,8 @@ noinst_HEADERS = \ memops.h \ pool.h \ port.h \ - ringbuffer.h \ + ringbuffer.h \ shm.h \ start.h \ + unlock.h \ version.h diff --git a/jackd/engine.c b/jackd/engine.c index 749f413..539b1ec 100644 --- a/jackd/engine.c +++ b/jackd/engine.c @@ -202,7 +202,7 @@ make_sockets (int fd[2]) addr.sun_family = AF_UNIX; for (i = 0; i < 999; i++) { snprintf (addr.sun_path, sizeof (addr.sun_path) - 1, - "%s/jack_%d", jack_server_dir, i); + "%s/jack_%d_%d", jack_server_dir, getuid (), i); if (access (addr.sun_path, F_OK) != 0) { break; } @@ -240,7 +240,7 @@ make_sockets (int fd[2]) addr.sun_family = AF_UNIX; for (i = 0; i < 999; i++) { snprintf (addr.sun_path, sizeof (addr.sun_path) - 1, - "%s/jack_ack_%d", jack_server_dir, i); + "%s/jack_%d_ack_%d", jack_server_dir, getuid (), i); if (access (addr.sun_path, F_OK) != 0) { break; } @@ -290,8 +290,13 @@ jack_cleanup_files () } while ((dirent = readdir (dir)) != NULL) { - if (strncmp (dirent->d_name, "jack-", 5) == 0 || - strncmp (dirent->d_name, "jack_", 5) == 0) { + /* jack-99999999- is 14 chars long */ + char name_prefix1[15]; + char name_prefix2[15]; + snprintf (name_prefix1, sizeof (name_prefix1), "jack-%d-", getuid ()); + snprintf (name_prefix2, sizeof (name_prefix2), "jack_%d_", getuid ()); + if (strncmp (dirent->d_name, name_prefix1, strlen(name_prefix1)) == 0 || + strncmp (dirent->d_name, name_prefix2, strlen(name_prefix2)) == 0) { char fullpath[PATH_MAX+1]; snprintf (fullpath, sizeof (fullpath), "%s/%s", jack_server_dir, dirent->d_name); @@ -2128,7 +2133,7 @@ jack_engine_new (int realtime, int rtpriority, engine->control->engine_ok = 1; snprintf (engine->fifo_prefix, sizeof (engine->fifo_prefix), - "%s/jack-ack-fifo-%d", jack_server_dir, getpid()); + "%s/jack-%d-ack-fifo-%d", jack_server_dir, getuid (), getpid()); (void) jack_get_fifo_fd (engine, 0); diff --git a/jackd/jackd.c b/jackd/jackd.c index 150a9f5..a256c7d 100644 --- a/jackd/jackd.c +++ b/jackd/jackd.c @@ -508,11 +508,16 @@ main (int argc, char *argv[]) } if (show_version) { - printf ( "jackd version " VERSION "\n"); #ifdef DEFAULT_TMP_DIR - printf ( "default tmp directory: " DEFAULT_TMP_DIR "\n"); + printf ( "jackd version " VERSION + " tmpdir " DEFAULT_TMP_DIR + " protocol " PROTOCOL_VERSION + "\n"); #else - printf ( "default tmp directory: /tmp\n"); + printf ( "jackd version " VERSION + " tmpdir " "/tmp" + " protocol " PROTOCOL_VERSION + "\n"); #endif return -1; } diff --git a/libjack/client.c b/libjack/client.c index 79f89f8..325dcf1 100644 --- a/libjack/client.c +++ b/libjack/client.c @@ -343,8 +343,8 @@ server_connect (int which) } addr.sun_family = AF_UNIX; - snprintf (addr.sun_path, sizeof (addr.sun_path) - 1, "%s/jack_%d", - jack_server_dir, which); + snprintf (addr.sun_path, sizeof (addr.sun_path) - 1, "%s/jack_%d_%d", + jack_server_dir, getuid (), which); if (connect (fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) { close (fd); @@ -369,8 +369,8 @@ server_event_connect (jack_client_t *client) } addr.sun_family = AF_UNIX; - snprintf (addr.sun_path, sizeof (addr.sun_path) - 1, "%s/jack_ack_0", - jack_server_dir); + snprintf (addr.sun_path, sizeof (addr.sun_path) - 1, "%s/jack_%d_ack_0", + jack_server_dir, getuid () ); if (connect (fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) { jack_error ("cannot connect to jack server for events",