# The non-callback API

## Functions

jack_nframes_t | jack_thread_wait (jack_client_t *, int status)
jack_nframes_t | jack_cycle_wait (jack_client_t *client)
void | jack_cycle_signal (jack_client_t *client, int status)
int | jack_set_process_thread (jack_client_t *client, JackThreadCallback fun, void *arg)

## Function Documentation

void jack_cycle_signal | ( | jack_client_t * | client,
|  | int | status |
| ) |  |  |

Signal next clients in the graph.

Parameters:

  | client | - pointer to a JACK client structure
  | status | - if non-zero, calling thread should exit

jack_nframes_t jack_cycle_wait | ( | jack_client_t * | client | ) |

Wait until this JACK client should process data.

Parameters:

  | client | - pointer to a JACK client structure

Returns:
  the number of frames of data to process

int jack_set_process_thread | ( | jack_client_t * | client,
|  | JackThreadCallback | fun,
|  | void * | arg |
| ) |  |  |

Tell the Jack server to call thread_callback in the RT thread. Typical use are in conjunction with jack_cycle_wait and @ jack_cycle_signal functions. The code in the supplied function must be suitable for real-time execution. That means that it cannot call functions that might block for a long time. This includes malloc, free, printf, pthread_mutex_lock, sleep, wait, poll, select, pthread_join, pthread_cond_wait, etc, etc. See http://jackit.sourceforge.net/docs/design/design.html#SECTION00411000000000000000 for more information.

Returns:
  0 on success, otherwise a non-zero error code.

jack_nframes_t jack_thread_wait | ( | jack_client_t * | ,
|  | int | status |
| ) |  |  |

THIS FUNCTION IS DEPRECATED AND SHOULD NOT BE USED IN NEW JACK CLIENTS

It should be replace by use of @ jack_cycle_wait and @ jack_cycle_signal functions.