From 6a9076129c48496af1f17905d53f15427aa5e341 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Fri, 28 Nov 2003 16:42:40 +0000 Subject: we still can't eject. try to shotgun a bit. --- mdk-stage1/init.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'mdk-stage1/init.c') diff --git a/mdk-stage1/init.c b/mdk-stage1/init.c index 73e82bd7d..5209f1f50 100644 --- a/mdk-stage1/init.c +++ b/mdk-stage1/init.c @@ -336,9 +336,26 @@ void unmount_filesystems(void) fd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK, 0); if (fd > 0) { ioctl(fd, CDROM_LOCKDOOR, 0); + close(fd); + } + fd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK, 0); + if (fd > 0) { + if (!ioctl(fd, CDROMEJECT, 0)) + goto ejected; + close(fd); + } + fd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK, 0); + if (fd > 0) { + ioctl(fd, CDROM_LOCKDOOR, 0); + close(fd); + } + fd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK, 0); + if (fd > 0) { ioctl(fd, CDROMEJECT, 0); close(fd); } + ejected: + close(fd); } #endif -- cgit v1.2.1