version 1.16, 2015/12/07 11:58:29 |
version 1.17, 2016/01/08 16:17:31 |
|
|
} |
} |
sock_close(f); |
sock_close(f); |
} else { |
} else { |
#ifdef DEBUG |
#ifdef DEBUG |
if (log_level >= 4) { |
if (log_level >= 4) { |
sock_log(f); |
sock_log(f); |
log_puts(": write blocked\n"); |
log_puts(": write blocked\n"); |
|
|
} |
} |
sock_close(f); |
sock_close(f); |
} else { |
} else { |
#ifdef DEBUG |
#ifdef DEBUG |
if (log_level >= 4) { |
if (log_level >= 4) { |
sock_log(f); |
sock_log(f); |
log_puts(": read blocked\n"); |
log_puts(": read blocked\n"); |
|
|
f->ralign = s->round * s->mix.bpf; |
f->ralign = s->round * s->mix.bpf; |
} |
} |
} |
} |
slot_stop(s); |
slot_stop(s); |
break; |
break; |
case AMSG_SETPAR: |
case AMSG_SETPAR: |
#ifdef DEBUG |
#ifdef DEBUG |
|
|
int |
int |
sock_buildmsg(struct sock *f) |
sock_buildmsg(struct sock *f) |
{ |
{ |
unsigned int size; |
unsigned int size; |
|
|
/* |
/* |
* If pos changed (or initial tick), build a MOVE message. |
* If pos changed (or initial tick), build a MOVE message. |
|
|
|
|
if (f->fillpending > 0) { |
if (f->fillpending > 0) { |
AMSG_INIT(&f->wmsg); |
AMSG_INIT(&f->wmsg); |
f->wmsg.cmd = htonl(AMSG_FLOWCTL); |
f->wmsg.cmd = htonl(AMSG_FLOWCTL); |
f->wmsg.u.ts.delta = htonl(f->fillpending); |
f->wmsg.u.ts.delta = htonl(f->fillpending); |
size = f->fillpending; |
size = f->fillpending; |
if (f->slot) |
if (f->slot) |
|
|
} |
} |
|
|
if (f->midi != NULL && f->midi->obuf.used > 0) { |
if (f->midi != NULL && f->midi->obuf.used > 0) { |
size = f->midi->obuf.used; |
size = f->midi->obuf.used; |
if (size > AMSG_DATAMAX) |
if (size > AMSG_DATAMAX) |
size = AMSG_DATAMAX; |
size = AMSG_DATAMAX; |
AMSG_INIT(&f->wmsg); |
AMSG_INIT(&f->wmsg); |