Subject: Re: oh yay (pkgsrc/audio/cdd vs cddb)
To: Wolfgang Rupprecht <wolfgang@wsrcc.com>
From: Simon Burge <simonb@wasabisystems.com>
List: current-users
Date: 03/13/2001 09:44:58
Wolfgang Rupprecht wrote:

> A side question:  Netbsd's cdrom driver seems to try to "help" the
> user by not allowing the CD information that the kernel presents to
> userland to be updated while the cdrom device-file is open.  The grip
> code does this to try to detect when a new disc is inserted:
> 
>                 while(1){
>                     ret = ioctl(cdromfd, CDIOCREADSUBCHANNEL, &discstatus);
>                     ... 
>                 }
> 
> Netbsd is effectively "protecting" the user from a quick game of
> three-disc-monte, where the cdrom changes unexpectedly.  The problem
> is that this feature is not included in any other common OS, so the
> grip code never got structured to allow some lowlevel code to "burp"
> the cdrom file by closing it and opening it.  (cdromfd was passed by
> value, so even doing a quick close()/open() on cdromfd was very
> painful and unclean.

Would using dup2(2) be a way to hack around this?

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD CDs, Support and Service:    http://www.wasabisystems.com/