1
0
mirror of https://github.com/ericonr/sndio.git synced 2024-02-18 04:45:21 -06:00

send feedback about changed controls to all sockets, including

the one that changed the control
This commit is contained in:
Alexandre Ratchov 2016-04-08 20:28:22 +02:00
parent 62c80b7e7f
commit 17ed48fb84
3 changed files with 5 additions and 6 deletions

View File

@ -2112,7 +2112,7 @@ dev_rmctl(struct dev *d, int addr)
}
int
dev_setctl(struct dev *d, int addr, int val, unsigned int mask)
dev_setctl(struct dev *d, int addr, int val)
{
struct ctl *c;
int num;
@ -2152,7 +2152,7 @@ dev_setctl(struct dev *d, int addr, int val, unsigned int mask)
}
}
c->curval = val;
c->val_mask = ~mask;
c->val_mask = ~0U;
return 1;
}

View File

@ -283,7 +283,7 @@ void slot_write(struct slot *);
void ctl_log(struct ctl *);
struct ctlslot *ctlslot_new(struct dev *);
void ctlslot_del(struct ctlslot *);
int dev_setctl(struct dev *, int, int, unsigned int);
int dev_setctl(struct dev *, int, int);
int dev_onctl(struct dev *, int, int);
int dev_nctl(struct dev *);
void dev_label(struct dev *, int);

View File

@ -1306,9 +1306,8 @@ sock_execmsg(struct sock *f)
return 0;
}
if (!dev_setctl(f->ctlslot->dev,
ntohs(m->u.mixset.addr),
ntohs(m->u.mixset.val),
f->ctlslot->mask)) {
ntohs(m->u.mixset.addr),
ntohs(m->u.mixset.val))) {
#ifdef DEBUG
if (log_level >= 1) {
sock_log(f);