Browse Source

[0.99.33] explicitly set server name for auto start

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@842 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
joq 21 years ago
parent
commit
edf8df999e
3 changed files with 23 additions and 13 deletions
  1. +6
    -1
      configure.ac
  2. +16
    -9
      libjack/client.c
  3. +1
    -3
      libjack/shm.c

+ 6
- 1
configure.ac View File

@@ -15,7 +15,7 @@ dnl changes are made
dnl ---
JACK_MAJOR_VERSION=0
JACK_MINOR_VERSION=99
JACK_MICRO_VERSION=32
JACK_MICRO_VERSION=33

dnl ---
dnl HOWTO: updating the jack protocol version
@@ -148,11 +148,15 @@ if test "x$TRY_POSIX_SHM" = "xyes"
then
AC_MSG_RESULT([POSIX shm_open().])
AC_DEFINE(USE_POSIX_SHM,1,[Use POSIX shared memory interface])
JACK_SHM_TYPE='"POSIX"'
USE_POSIX_SHM="true"
else
AC_MSG_RESULT([System V shmget().])
JACK_SHM_TYPE='"System V"'
USE_POSIX_SHM="false"
fi
AC_DEFINE_UNQUOTED(JACK_SHM_TYPE, [$JACK_SHM_TYPE],
[JACK shared memory type])
AM_CONDITIONAL(USE_POSIX_SHM, $USE_POSIX_SHM)

JACK_CORE_CFLAGS="-I\$(top_builddir)/config -I\$(top_srcdir) \
@@ -576,5 +580,6 @@ echo \| Build with CoreAudio support.......................... : $HAVE_COREAUDIO
echo \| Build with PortAudio support.......................... : $HAVE_PA
echo \|
echo \| Default driver backend................................ : $JACK_DEFAULT_DRIVER
echo \| Shared memory interface............................... : $JACK_SHM_TYPE
echo


+ 16
- 9
libjack/client.c View File

@@ -419,7 +419,7 @@ server_event_connect (jack_client_t *client, const char *server_name)

/* Exec the JACK server in this process. Does not return. */
static void
_start_server (void)
_start_server (const char *server_name)
{
FILE* fp = 0;
char filename[255];
@@ -473,12 +473,19 @@ _start_server (void)
argv = (char **) malloc (255);
while(1) {
/* insert -T into arguments */
/* insert -T and -nserver_name in front of arguments */
if (i == 1) {
argv[i] = (char*)malloc(3);
strncpy(argv[i], "-T", 2);
argv[i][2] = '\0';
++i;
argv[i] = (char *) malloc(strlen ("-T") + 1);
strcpy (argv[i++], "-T");
if (server_name) {
size_t optlen = strlen ("-n");
char *buf =
malloc (optlen
+ strlen (server_name) + 1);
strcpy (buf, "-n");
strcpy (buf+optlen, server_name);
argv[i++] = buf;
}
}

result = strcspn(arguments+pos, " ");
@@ -503,7 +510,7 @@ _start_server (void)
}

int
start_server (jack_options_t options)
start_server (const char *server_name, jack_options_t options)
{
if ((options & JackNoStartServer)
|| getenv("JACK_NO_START_SERVER")) {
@@ -523,7 +530,7 @@ start_server (jack_options_t options)
case 0: /* child process */
switch (fork()) {
case 0: /* grandchild process */
_start_server();
_start_server(server_name);
_exit (99); /* exec failed */
case -1:
_exit (98);
@@ -578,7 +585,7 @@ jack_request_client (ClientType type,

if ((*req_fd = server_connect (va->server_name)) < 0) {
int trys;
if (start_server(options)) {
if (start_server(va->server_name, options)) {
*status |= (JackFailure|JackServerFailed);
goto fail;
}


+ 1
- 3
libjack/shm.c View File

@@ -54,10 +54,8 @@

#ifdef USE_POSIX_SHM
static jack_shmtype_t jack_shmtype = shm_POSIX;
static char *shmtype_name = "POSIX";
#else
static jack_shmtype_t jack_shmtype = shm_SYSV;
static char *shmtype_name = "System V";
#endif

/* interface-dependent forward declarations */
@@ -320,7 +318,7 @@ jack_register_server (const char *server_name)
int i;
pid_t my_pid = getpid ();

fprintf (stderr, "JACK compiled with %s SHM support.\n", shmtype_name);
fprintf (stderr, "JACK compiled with %s SHM support.\n", JACK_SHM_TYPE);

jack_shm_lock_registry ();



Loading…
Cancel
Save