return; 
return 0; 
static int write_jack(char *buf, int32 nbytes){	struct tm_jack *ctx = &jack_ctx;	int nframes;	int i;	nframes = nbytes >> ctx->shift;	if (nframes <= 0)		return 0;	for (;;) {		int size = ringbuf_get_empty(&ctx->rbuf);		if (size > nframes)			size = nframes;		while (size > 0) {			int size1 = ringbuf_bound_writable(&ctx->rbuf, size);			if (ctx->sample_16bit) {				short *sbuf = (short *)buf;				for (i = 0; i < ctx->channels; i++, sbuf++)					convert_stream_16(ctx, i, size1, sbuf);			} else {				char *sbuf = (char *)buf;				for (i = 0; i < ctx->channels; i++, sbuf++)					convert_stream_8(ctx, i, size1, sbuf);			}			ringbuf_write_advance(&ctx->rbuf, size1);			/* set running flag */			ctx->running = 1;			nframes -= size1;			if (! nframes)				return;			buf += size1 << ctx->shift;			size -= size1;		}		/* blocking behavior: sleep until the process thread		 * wakes up...		 */		pthread_cond_wait(&ctx->cond, &ctx->lock);	}}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/64c3a98e5ef08ab323c2ea983ca497f2df9f9db2/jack_a.c/buggy/timidity/jack_a.c