diff options
author | gibbs <gibbs@FreeBSD.org> | 1994-11-07 09:14:57 +0800 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1994-11-07 09:14:57 +0800 |
commit | ab8a64c8fc2cc67a5f7982703b4e74ec047edd3c (patch) | |
tree | 59d7291ce30f79061b84f397c22b512c60edaf6c /audio | |
parent | aefcba8063b28c2e773d497db507f1d83b6cea76 (diff) | |
download | freebsd-ports-graphics-ab8a64c8fc2cc67a5f7982703b4e74ec047edd3c.tar.gz freebsd-ports-graphics-ab8a64c8fc2cc67a5f7982703b4e74ec047edd3c.tar.zst freebsd-ports-graphics-ab8a64c8fc2cc67a5f7982703b4e74ec047edd3c.zip |
Make the eject function work. This requires using the CDIOCALLOW ioctl
before the CDIOCEJECT ioctl otherwise the media is still locked when you
attempt the eject. The previous code may have worked on drives that did
not support the media lock feature.
Diffstat (limited to 'audio')
-rw-r--r-- | audio/xcdplayer/files/cdrom_freebsd.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/audio/xcdplayer/files/cdrom_freebsd.c b/audio/xcdplayer/files/cdrom_freebsd.c index c65d2571b18..d723b81b36a 100644 --- a/audio/xcdplayer/files/cdrom_freebsd.c +++ b/audio/xcdplayer/files/cdrom_freebsd.c @@ -174,6 +174,11 @@ cdrom_eject() { if (cdrom_fd == -1) return(-1); + if (ioctl(cdrom_fd, CDIOCALLOW) == -1) { + perror("ioctl(cdromallow)"); + return(-1); + } + if (ioctl(cdrom_fd, CDIOCEJECT) == -1) { perror("ioctl(cdromeject)"); return(-1); |