hw/kdrive: Use passed-in fd for kdrive/linux APM monitoring [v2]

This is a cleanup, proposed by Adam Jackson, but wasn't merged with
the original NotifyFD changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Keith Packard 2015-08-27 11:47:26 -07:00 committed by Adam Jackson
parent 55c2e1a3aa
commit 6bf7b49f67

View File

@ -173,12 +173,11 @@ static Bool LinuxApmRunning;
static void static void
LinuxApmNotify(int fd, int mask, void *blockData) LinuxApmNotify(int fd, int mask, void *blockData)
{ {
if (LinuxApmFd >= 0) {
apm_event_t event; apm_event_t event;
Bool running = LinuxApmRunning; Bool running = LinuxApmRunning;
int cmd = APM_IOC_SUSPEND; int cmd = APM_IOC_SUSPEND;
while (read(LinuxApmFd, &event, sizeof(event)) == sizeof(event)) { while (read(fd, &event, sizeof(event)) == sizeof(event)) {
switch (event) { switch (event) {
case APM_SYS_STANDBY: case APM_SYS_STANDBY:
case APM_USER_STANDBY: case APM_USER_STANDBY:
@ -205,8 +204,7 @@ LinuxApmNotify(int fd, int mask, void *blockData)
else if (!running && LinuxApmRunning) { else if (!running && LinuxApmRunning) {
KdSuspend(); KdSuspend();
LinuxApmRunning = FALSE; LinuxApmRunning = FALSE;
ioctl(LinuxApmFd, cmd, 0); ioctl(fd, cmd, 0);
}
} }
} }