Revert this as it should not have been pushed yet
authorChristopher Michael <cp.michael@samsung.com>
Wed, 13 Feb 2019 15:01:22 +0000 (10:01 -0500)
committerWonki Kim <wonki_.kim@samsung.com>
Fri, 8 Mar 2019 11:49:33 +0000 (20:49 +0900)
Revert "ecore_main: Add ECORE_FD_ALWAYS flag"

This reverts commit b5e90ebe0d49edc405e9a5ab60b3c1e7ea65a5fa.

src/lib/ecore/Ecore_Common.h
src/lib/ecore/ecore_main.c
src/lib/ecore/ecore_private.h

index 7b43b16..960e06a 100644 (file)
@@ -1400,13 +1400,7 @@ enum _Ecore_Fd_Handler_Flags
 {
    ECORE_FD_READ = 1, /**< Fd Read mask */
    ECORE_FD_WRITE = 2, /**< Fd Write mask */
-   ECORE_FD_ERROR = 4, /**< Fd Error mask */
-   /* ECORE_FD_ALWAYS is intended to fix a problem with wayland
-    * and threads.  It causes the fd handler to be called
-    * in any state, so wayland libs can call read_cancel
-    * if nothing is available to read.  Everyone else should
-    * stay away. */
-   ECORE_FD_ALWAYS = 8, /**< Fd Always mask - DO NOT USE! */
+   ECORE_FD_ERROR = 4 /**< Fd Error mask */
 };
 typedef enum _Ecore_Fd_Handler_Flags Ecore_Fd_Handler_Flags;
 
index 1346e3f..5101115 100644 (file)
@@ -254,7 +254,7 @@ _ecore_try_add_to_call_list(Eo *obj EINA_UNUSED, Efl_Loop_Data *pd, Ecore_Fd_Han
         DBG("next_ready");
         return;
      }
-   if (fdh->read_active || fdh->write_active || fdh->error_active || (fdh->flags & ECORE_FD_ALWAYS))
+   if (fdh->read_active || fdh->write_active || fdh->error_active)
      {
         DBG("added");
         // make sure next_ready is non-null by pointing to ourselves
@@ -594,10 +594,6 @@ _ecore_main_fdh_epoll_mark_active(Eo *obj, Efl_Loop_Data *pd)
              fdh->write_active = EINA_TRUE;
              fdh->error_active = EINA_TRUE;
           }
-        /* We'll add this one anyway outside this function,
-           don't want it twice */
-        if (fdh->flags & ECORE_FD_ALWAYS)
-          continue;
 
         _ecore_try_add_to_call_list(obj, pd, fdh);
      }
@@ -1496,9 +1492,6 @@ _ecore_main_fd_handler_add(Eo                    *obj,
    if (is_file)
      pd->file_fd_handlers = eina_list_append
        (pd->file_fd_handlers, fdh);
-   if (fdh->flags & ECORE_FD_ALWAYS)
-     pd->always_fd_handlers = eina_list_append
-       (pd->always_fd_handlers, fdh);
    pd->fd_handlers = (Ecore_Fd_Handler *)
      eina_inlist_append(EINA_INLIST_GET(pd->fd_handlers),
                         EINA_INLIST_GET(fdh));
@@ -1806,9 +1799,6 @@ _ecore_main_content_clear(Eo *obj, Efl_Loop_Data *pd)
    if (pd->file_fd_handlers)
      pd->file_fd_handlers =
        eina_list_free(pd->file_fd_handlers);
-   if (pd->always_fd_handlers)
-     pd->always_fd_handlers =
-       eina_list_free(pd->always_fd_handlers);
    if (pd->fd_handlers_to_delete)
      pd->fd_handlers_to_delete =
        eina_list_free(pd->fd_handlers_to_delete);
@@ -1892,7 +1882,7 @@ _ecore_main_select(Eo *obj, Efl_Loop_Data *pd, double timeout)
    fd_set rfds, wfds, exfds;
    Ecore_Fd_Handler *fdh;
    Eina_List *l;
-   int max_fd, ret, outval;
+   int max_fd, ret;
 #ifndef _WIN32
    int err_no;
 #endif
@@ -1945,17 +1935,17 @@ _ecore_main_select(Eo *obj, Efl_Loop_Data *pd, double timeout)
           {
              if (!fdh->delete_me)
                {
-                  if ((fdh->flags & ECORE_FD_READ) || (fdh->flags & ECORE_FD_ALWAYS))
+                  if (fdh->flags & ECORE_FD_READ)
                     {
                        FD_SET(fdh->fd, &rfds);
                        if (fdh->fd > max_fd) max_fd = fdh->fd;
                     }
-                  if ((fdh->flags & ECORE_FD_WRITE) || (fdh->flags & ECORE_FD_ALWAYS))
+                  if (fdh->flags & ECORE_FD_WRITE)
                     {
                        FD_SET(fdh->fd, &wfds);
                        if (fdh->fd > max_fd) max_fd = fdh->fd;
                     }
-                  if ((fdh->flags & ECORE_FD_ERROR) || (fdh->flags & ECORE_FD_ALWAYS))
+                  if (fdh->flags & ECORE_FD_ERROR)
                     {
                        FD_SET(fdh->fd, &exfds);
                        if (fdh->fd > max_fd) max_fd = fdh->fd;
@@ -1975,17 +1965,17 @@ _ecore_main_select(Eo *obj, Efl_Loop_Data *pd, double timeout)
      {
         if (!fdh->delete_me)
           {
-             if ((fdh->flags & ECORE_FD_READ) || (fdh->flags & ECORE_FD_ALWAYS))
+             if (fdh->flags & ECORE_FD_READ)
                {
                   FD_SET(fdh->fd, &rfds);
                   if (fdh->fd > max_fd) max_fd = fdh->fd;
                }
-             if ((fdh->flags & ECORE_FD_WRITE) || (fdh->flags & ECORE_FD_ALWAYS))
+             if (fdh->flags & ECORE_FD_WRITE)
                {
                   FD_SET(fdh->fd, &wfds);
                   if (fdh->fd > max_fd) max_fd = fdh->fd;
                }
-             if ((fdh->flags & ECORE_FD_ERROR) || (fdh->flags & ECORE_FD_ALWAYS))
+             if (fdh->flags & ECORE_FD_ERROR)
                {
                   FD_SET(fdh->fd, &exfds);
                   if (fdh->fd > max_fd) max_fd = fdh->fd;
@@ -2015,11 +2005,7 @@ _ecore_main_select(Eo *obj, Efl_Loop_Data *pd, double timeout)
    if (ret < 0)
      {
 #ifndef _WIN32
-        if (err_no == EINTR)
-          {
-             outval = -1;
-             goto BAIL;
-          }
+        if (err_no == EINTR) return -1;
         else if (err_no == EBADF) _ecore_main_fd_handlers_bads_rem(obj, pd);
 #endif
      }
@@ -2072,15 +2058,9 @@ _ecore_main_select(Eo *obj, Efl_Loop_Data *pd, double timeout)
 #ifdef _WIN32
         _ecore_main_win32_handlers_cleanup(obj, pd);
 #endif
-        outval = 1;
-        goto BAIL;
+        return 1;
      }
-   outval = 0;
-BAIL:
-   EINA_LIST_FOREACH(pd->always_fd_handlers, l, fdh)
-     _ecore_try_add_to_call_list(obj, pd, fdh);
-
-   return outval;
+   return 0;
 }
 
 #endif
@@ -2201,8 +2181,6 @@ _ecore_main_fd_handlers_cleanup(Eo *obj EINA_UNUSED, Efl_Loop_Data *pd)
                              EINA_INLIST_GET(fdh));
         if (fdh->file)
           pd->file_fd_handlers = eina_list_remove(pd->file_fd_handlers, fdh);
-        if (fdh->flags & ECORE_FD_ALWAYS)
-          pd->always_fd_handlers = eina_list_remove(pd->always_fd_handlers, fdh);
         ECORE_MAGIC_SET(fdh, ECORE_MAGIC_NONE);
         ecore_fd_handler_mp_free(fdh);
         pd->fd_handlers_to_delete = eina_list_remove_list
@@ -2260,8 +2238,7 @@ _ecore_main_fd_handlers_call(Eo *obj EINA_UNUSED, Efl_Loop_Data *pd)
           {
              if ((fdh->read_active) ||
                  (fdh->write_active) ||
-                 (fdh->error_active) ||
-                 (fdh->flags & ECORE_FD_ALWAYS))
+                 (fdh->error_active))
                {
                   fdh->references++;
                   if (!_ecore_call_fd_cb(fdh->func, fdh->data, fdh))
index ec8ee2c..808721e 100644 (file)
@@ -138,7 +138,6 @@ struct _Efl_Loop_Data
    Ecore_Fd_Handler    *fd_handlers;
    Eina_List           *fd_handlers_with_prep;
    Eina_List           *file_fd_handlers;
-   Eina_List           *always_fd_handlers;
    Eina_List           *fd_handlers_with_buffer;
    Eina_List           *fd_handlers_to_delete;
    Ecore_Fd_Handler    *fd_handlers_to_call;