Revert "eina: add a function to free Eina_Promise attached data when the promise...
authorCedric BAIL <cedric.bail@free.fr>
Sat, 5 Jan 2019 00:06:05 +0000 (16:06 -0800)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 24 Jan 2019 05:20:17 +0000 (14:20 +0900)
A better solution is to actually have no eina_promise_data_set/get at all.

This reverts commit ce56f32270c2f75adab022b701d3bdcbbbc3fb44.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7574

src/lib/eina/eina_promise.c
src/lib/eina/eina_promise.h

index c239ba6..222f7d5 100644 (file)
@@ -103,7 +103,6 @@ struct _Eina_Promise {
    Eina_Future *future;
    Eina_Future_Scheduler *scheduler;
    Eina_Promise_Cancel_Cb cancel;
-   Eina_Free_Cb free_cb;
    const void *data;
 };
 
@@ -307,19 +306,12 @@ _eina_promise_link(Eina_Promise *p, Eina_Future *f)
 }
 
 static void
-_eina_promise_free(Eina_Promise *p)
-{
-   if (p->free_cb) p->free_cb((void*) p->data);
-   eina_mempool_free(_promise_mp, p);
-}
-
-static void
 _eina_promise_cancel(Eina_Promise *p)
 {
    DBG("Cancelling promise: %p, data: %p, future: %p", p, p->data, p->future);
    _eina_promise_unlink(p);
    p->cancel((void *)p->data, p);
-   _eina_promise_free(p);
+   eina_mempool_free(_promise_mp, p);
 }
 
 static void
@@ -524,7 +516,7 @@ _eina_promise_deliver(Eina_Promise *p,
         DBG("Promise %p has no future", p);
         eina_value_flush(&value);
      }
-   _eina_promise_free(p);
+   eina_mempool_free(_promise_mp, p);
 }
 
 Eina_Bool
@@ -643,7 +635,7 @@ _eina_promise_clean_dispatch(Eina_Promise *p, Eina_Value v)
         // This function is called on a promise created with a scheduler, not a continue one.
         _eina_future_dispatch(p->scheduler, f, v);
      }
-   _eina_promise_free(p);
+   eina_mempool_free(_promise_mp, p);
 }
 
 static Eina_Value
@@ -1119,13 +1111,6 @@ eina_promise_data_set(Eina_Promise *p,
    p->data = data;
 }
 
-EAPI void
-eina_promise_data_free_cb_set(Eina_Promise *p,
-                              Eina_Free_Cb free_cb)
-{
-   EINA_SAFETY_ON_NULL_RETURN(p);
-   p->free_cb = free_cb;
-}
 
 static Eina_Value
 _eina_future_cb_easy(void *data, const Eina_Value value,
index 1896260..14e550d 100644 (file)
@@ -629,14 +629,6 @@ EAPI void *eina_promise_data_get(const Eina_Promise *p) EINA_ARG_NONNULL(1);
 EAPI void eina_promise_data_set(Eina_Promise *p, void *data) EINA_ARG_NONNULL(1);
 
 /**
- * Sets the free callback used when the data attached on the promise is freed just before the destruction of the promise itself.
- *
- * @param[in] p The promise to set the free callback on.
- * @param[in] free_cb The free callback.
- */
-EAPI void eina_promise_data_free_cb_set(Eina_Promise *p, Eina_Free_Cb free_cb);
-
-/**
  * Resolves a promise.
  *
  * This function schedules a resolve event in a