| 
																	
																	
																		
																	
																	
																 | 
																@@ -52,6 +52,12 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																#define NoPort    -1 | 
																 | 
																 | 
																#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 { | 
																 | 
																 | 
																typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    jack_port_internal_t *source; | 
																 | 
																 | 
																    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); | 
																 | 
																 | 
																				engine->driver->wait (engine->driver, client->subgraph_wait_fd, &status, &delayed_usecs); | 
															
														
														
													
														
															
																 | 
																 | 
																			} else { | 
																 | 
																 | 
																			} else { | 
															
														
														
													
														
															
																 | 
																 | 
																				struct pollfd pfd[1]; | 
																 | 
																 | 
																				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].fd = client->subgraph_wait_fd; | 
															
														
														
													
														
															
																 | 
																 | 
																				pfd[0].events = POLLERR|POLLIN|POLLHUP|POLLNVAL; | 
																 | 
																 | 
																				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)); | 
																 | 
																 | 
																					jack_error ("poll on subgraph processing failed (%s)", strerror (errno)); | 
															
														
														
													
														
															
																 | 
																 | 
																					status = -1;  | 
																 | 
																 | 
																					status = -1;  | 
															
														
														
													
														
															
																 | 
																 | 
																				} | 
																 | 
																 | 
																				} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |