[BACK]Return to dev_sioctl.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / sndiod

Diff for /src/usr.bin/sndiod/dev_sioctl.c between version 1.4 and 1.5

version 1.4, 2020/04/16 12:26:55 version 1.5, 2020/04/24 11:33:28
Line 126 
Line 126 
         }          }
         sioctl_ondesc(d->sioctl.hdl, dev_sioctl_ondesc, d);          sioctl_ondesc(d->sioctl.hdl, dev_sioctl_ondesc, d);
         sioctl_onval(d->sioctl.hdl, dev_sioctl_onval, d);          sioctl_onval(d->sioctl.hdl, dev_sioctl_onval, d);
         d->sioctl.file = file_new(&dev_sioctl_ops, d, "mix",  
             sioctl_nfds(d->sioctl.hdl));  
 }  }
   
 /*  /*
Line 136 
Line 134 
 void  void
 dev_sioctl_close(struct dev *d)  dev_sioctl_close(struct dev *d)
 {  {
         if (d->sioctl.hdl == NULL)          struct ctl *c, **pc;
                 return;  
         file_del(d->sioctl.file);          /* remove controls */
           pc = &d->ctl_list;
           while ((c = *pc) != NULL) {
                   if (c->addr >= CTLADDR_END) {
                           c->refs_mask &= ~CTL_DEVMASK;
                           if (c->refs_mask == 0) {
                                   *pc = c->next;
                                   xfree(c);
                                   continue;
                           }
                           c->type = CTL_NONE;
                           c->desc_mask = ~0;
                   }
                   pc = &c->next;
           }
           dev_ctlsync(d);
 }  }
   
 int  int
Line 207 
Line 220 
         struct dev *d = arg;          struct dev *d = arg;
   
         dev_sioctl_close(d);          dev_sioctl_close(d);
           file_del(d->sioctl.file);
           sioctl_close(d->sioctl.hdl);
           d->sioctl.hdl = NULL;
 }  }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5