Browse Source

kai's soft timeout patch

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@208 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
pbd 23 years ago
parent
commit
e2a9703db7
2 changed files with 11 additions and 4 deletions
  1. +2
    -2
      configure.in
  2. +9
    -2
      jackd/engine.c

+ 2
- 2
configure.in View File

@@ -4,8 +4,8 @@ AC_INIT(jackd/jackd.c)
AC_CONFIG_AUX_DIR(.)

JACK_MAJOR_VERSION=0
JACK_MINOR_VERSION=32
JACK_MICRO_VERSION=3
JACK_MINOR_VERSION=33
JACK_MICRO_VERSION=0

BETA=



+ 9
- 2
jackd/engine.c View File

@@ -52,6 +52,12 @@

#define NoPort -1

/**
* Time to wait for clients in msecs. Used when jackd is
* run in non-ASIO mode and without realtime priority enabled.
*/
#define JACKD_SOFT_MODE_TIMEOUT 5000

typedef struct {

jack_port_internal_t *source;
@@ -501,11 +507,12 @@ jack_process (jack_engine_t *engine, jack_nframes_t nframes)
engine->driver->wait (engine->driver, client->subgraph_wait_fd, &status, &delayed_usecs);
} else {
struct pollfd pfd[1];
int poll_timeout = (engine->control->real_time == 0 ? JACKD_SOFT_MODE_TIMEOUT : engine->driver->period_usecs/1000);

pfd[0].fd = client->subgraph_wait_fd;
pfd[0].events = POLLERR|POLLIN|POLLHUP|POLLNVAL;
if (poll (pfd, 1, engine->driver->period_usecs/1000) < 0) {
if (poll (pfd, 1, poll_timeout) < 0) {
jack_error ("poll on subgraph processing failed (%s)", strerror (errno));
status = -1;
}


Loading…
Cancel
Save