Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40a87586 authored by Sean McNeil's avatar Sean McNeil Committed by Jean-Baptiste Queru
Browse files

Only monitor recognized uevent devices.

system_server can potentially monitor uevent devices that are
of no use to it. For instance, an accelerometer implementation
as uevents. This would cause the process to be busy when
unnecessary. If a device cannot be classified, don't monitor it.

Change-Id: I489cc453bdce7cb376102cba67a9ea470e13292d
parent e7731f0a
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -528,7 +528,6 @@ int EventHub::open_device(const char *deviceName)
        if (strcmp(name, test) == 0) {
        if (strcmp(name, test) == 0) {
            LOGI("ignoring event id %s driver %s\n", deviceName, test);
            LOGI("ignoring event id %s driver %s\n", deviceName, test);
            close(fd);
            close(fd);
            fd = -1;
            return -1;
            return -1;
        }
        }
    }
    }
@@ -737,6 +736,14 @@ int EventHub::open_device(const char *deviceName)
                device->id, name, propName, keylayoutFilename);
                device->id, name, propName, keylayoutFilename);
    }
    }


    // If the device isn't recognized as something we handle, don't monitor it.
    if (device->classes == 0) {
        LOGV("Dropping device %s %p, id = %d\n", deviceName, device, devid);
        close(fd);
        delete device;
        return -1;
    }

    LOGI("New device: path=%s name=%s id=0x%x (of 0x%x) index=%d fd=%d classes=0x%x\n",
    LOGI("New device: path=%s name=%s id=0x%x (of 0x%x) index=%d fd=%d classes=0x%x\n",
         deviceName, name, device->id, mNumDevicesById, mFDCount, fd, device->classes);
         deviceName, name, device->id, mNumDevicesById, mFDCount, fd, device->classes);