check return value of ioctl and left logs 80/173280/1 accepted/tizen/unified/20180328.010158 submit/tizen/20180319.053649
authorJengHyun Kang <jhyuni.kang@samsung.com>
Tue, 20 Mar 2018 08:25:03 +0000 (17:25 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Tue, 20 Mar 2018 08:25:03 +0000 (17:25 +0900)
Change-Id: I5a0a5189f7a6b945e89e14e6a06f30e9161e8156

src/e_devicemgr_device.c

index da17c27b9a7a38c20423e2f119995c2a8f602ca1..1d5549a37c2d0a4a79df6c7483bd742b788ea1e9 100644 (file)
@@ -1982,10 +1982,16 @@ _e_devicemgr_device_mgr_cb_bind(struct wl_client *client, void *data, uint32_t v
 void
 e_devicemgr_destroy_virtual_device(int uinp_fd)
 {
-   ioctl(uinp_fd, UI_DEV_DESTROY, NULL);
+   int ret;
+   ret = ioctl(uinp_fd, UI_DEV_DESTROY, NULL);
+   if (ret) DMWRN("Failed destroy fd: %d (ret: %d)\n", uinp_fd, ret);
    close(uinp_fd);
 }
 
+#define DM_IOCTL_SET_BIT(fd, bit, val) \
+    ret = ioctl(fd, bit, val); \
+    if (ret) DMWRN("Failed to set %s to fd(%d) (ret: %d)\n", #val, fd, ret)
+
 int
 e_devicemgr_create_virtual_device(E_Devicemgr_Device_Type type, const char *name)
 {
@@ -2008,46 +2014,46 @@ e_devicemgr_create_virtual_device(E_Devicemgr_Device_Type type, const char *name
    if (E_DEVICEMGR_DEVICE_TYPE_KEY == type)
      {
        /* key device setup */
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_KEY);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_SYN);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_MSC);
-       ioctl(uinp_fd, UI_SET_MSCBIT, MSC_SCAN);
-       ioctl(uinp_fd, UI_SET_KEYBIT, KEY_ESC);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_KEY);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_SYN);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_MSC);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_MSCBIT, MSC_SCAN);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_KEYBIT, KEY_ESC);
      }
    else if (E_DEVICEMGR_DEVICE_TYPE_MOUSE == type)
      {
        /* mouse device setup */
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_KEY);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_SYN);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_MSC);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_REL);
-       ioctl(uinp_fd, UI_SET_MSCBIT, MSC_SCAN);
-       ioctl(uinp_fd, UI_SET_KEYBIT, BTN_LEFT);
-       ioctl(uinp_fd, UI_SET_RELBIT, BTN_RIGHT);
-       ioctl(uinp_fd, UI_SET_RELBIT, BTN_MIDDLE);
-       ioctl(uinp_fd, UI_SET_RELBIT, REL_X);
-       ioctl(uinp_fd, UI_SET_RELBIT, REL_Y);
-       ioctl(uinp_fd, UI_SET_RELBIT, REL_WHEEL);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_KEY);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_SYN);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_MSC);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_REL);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_MSCBIT, MSC_SCAN);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_KEYBIT, BTN_LEFT);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_RELBIT, BTN_RIGHT);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_RELBIT, BTN_MIDDLE);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_RELBIT, REL_X);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_RELBIT, REL_Y);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_RELBIT, REL_WHEEL);
      }
    else if (E_DEVICEMGR_DEVICE_TYPE_TOUCH == type)
      {
        /* touch device setup */
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_KEY);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_SYN);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_MSC);
-       ioctl(uinp_fd, UI_SET_EVBIT, EV_ABS);
-
-       ioctl(uinp_fd, UI_SET_KEYBIT, BTN_TOUCH);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_X);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_Y);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_SLOT);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_TOUCH_MAJOR);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_TOUCH_MINOR);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_WIDTH_MAJOR);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_POSITION_X);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_POSITION_Y);
-       ioctl(uinp_fd, UI_SET_ABSBIT, ABS_MT_TRACKING_ID);
-       ioctl(uinp_fd, UI_SET_MSCBIT, MSC_SCAN);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_KEY);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_SYN);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_MSC);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_EVBIT, EV_ABS);
+
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_KEYBIT, BTN_TOUCH);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_X);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_Y);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_SLOT);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_TOUCH_MAJOR);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_TOUCH_MINOR);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_WIDTH_MAJOR);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_POSITION_X);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_POSITION_Y);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_ABSBIT, ABS_MT_TRACKING_ID);
+       DM_IOCTL_SET_BIT(uinp_fd, UI_SET_MSCBIT, MSC_SCAN);
 
        uinp.absmin[ABS_X] = 0;
        uinp.absmax[ABS_X] = 1000;