diff --git a/legacy/ecore/src/lib/ecore/Ecore.h b/legacy/ecore/src/lib/ecore/Ecore.h index 84f4231972..e04f26378f 100644 --- a/legacy/ecore/src/lib/ecore/Ecore.h +++ b/legacy/ecore/src/lib/ecore/Ecore.h @@ -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); diff --git a/legacy/ecore/src/lib/ecore/ecore_thread.c b/legacy/ecore/src/lib/ecore/ecore_thread.c index 04bafe1ee3..1948348507 100644 --- a/legacy/ecore/src/lib/ecore/ecore_thread.c +++ b/legacy/ecore/src/lib/ecore/ecore_thread.c @@ -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