+ecore_thread_total_get to return total number of pending jobs
authordiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 21 Jul 2010 04:03:40 +0000 (04:03 +0000)
committerdiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 21 Jul 2010 04:03:40 +0000 (04:03 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@50405 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore/Ecore.h
src/lib/ecore/ecore_thread.c

index 84f4231..e04f263 100644 (file)
@@ -353,6 +353,7 @@ extern "C" {
    EAPI int           ecore_thread_active_get(void);
    EAPI int           ecore_thread_pending_get(void);
    EAPI int           ecore_thread_pending_long_get(void);
+   EAPI int           ecore_thread_pending_total_get(void);
    EAPI int           ecore_thread_max_get(void);
    EAPI void          ecore_thread_max_set(int num);
    EAPI void          ecore_thread_max_reset(void);
index 04bafe1..1948348 100644 (file)
@@ -703,6 +703,21 @@ ecore_thread_pending_long_get(void)
 #endif
 }
 
+/**
+ * @brief Get number of pending thread jobs
+ * @return Number of pending threads running jobs
+ * This returns the number of threads currently running jobs through the
+ * ecore_thread_run and ecore_long_run api calls combined.
+ */
+EAPI int
+ecore_thread_pending_total_get(void)
+{
+#ifdef EFL_HAVE_PTHREAD
+   return eina_list_count(_ecore_pending_job_threads) + eina_list_count(_ecore_pending_job_threads_long);
+#else
+   return 0;
+#endif
+}
 
 /**
  * @brief Get the max number of threads that can run simultaneously