summaryrefslogtreecommitdiff
path: root/audio/xcdplayer
diff options
context:
space:
mode:
authorJustin T. Gibbs <gibbs@FreeBSD.org>1994-11-07 01:14:57 +0000
committerJustin T. Gibbs <gibbs@FreeBSD.org>1994-11-07 01:14:57 +0000
commite59e99cc192c59337932fd0f033ab5b18dc180c4 (patch)
tree9dd424e2d315e3f6a8c22cd905cd1f3224adf12d /audio/xcdplayer
parentAdd xanim to SUBDIRS. (diff)
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.
Notes
Notes: svn path=/head/; revision=335
Diffstat (limited to 'audio/xcdplayer')
-rw-r--r--audio/xcdplayer/files/cdrom_freebsd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/audio/xcdplayer/files/cdrom_freebsd.c b/audio/xcdplayer/files/cdrom_freebsd.c
index c65d2571b18c..d723b81b36a9 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);