Browse Source

fix incorrect invocation of process() caused by pollfd[WAIT_POLL_INDEX].revents containing POLLIN bits

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1058 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
paul 17 years ago
parent
commit
a6fbf1c845
1 changed files with 5 additions and 1 deletions
  1. +5
    -1
      libjack/client.c

+ 5
- 1
libjack/client.c View File

@@ -420,6 +420,8 @@ jack_handle_reorder (jack_client_t *client, jack_event_t *event)
{
char path[PATH_MAX+1];

DEBUG ("graph reorder\n");

if (client->graph_wait_fd >= 0) {
DEBUG ("closing graph_wait_fd==%d", client->graph_wait_fd);
close (client->graph_wait_fd);
@@ -1402,7 +1404,8 @@ jack_client_core_wait (jack_client_t* client)
return 0;
}
if ((client->pollfd[WAIT_POLL_INDEX].revents & POLLIN)) {
if (client->graph_wait_fd >= 0 &&
(client->pollfd[WAIT_POLL_INDEX].revents & POLLIN)) {
DEBUG ("time to run process()\n");
break;
}
@@ -1423,6 +1426,7 @@ jack_wake_next_client (jack_client_t* client)

if (write (client->graph_next_fd, &c, sizeof (c))
!= sizeof (c)) {
DEBUG("cannot write byte to fd %d", client->graph_next_fd);
jack_error ("cannot continue execution of the "
"processing graph (%s)",
strerror(errno));


Loading…
Cancel
Save