Not ready yet as it uses _eina_time_get which is internal only right now. Compiling
works fine for efl alone as the private header is in teh include search part but it
blows up when compiling elementary.
Need to think a bit more about this. Maybe exposing _eina_time_get as API but that
should wait until after the release.
This reverts commit
f0a02a92beff49879eba84b4d4eee265fe156511.
#include "eina_inlist.h"
#endif
-#include "eina_inline_private.h"
-
typedef struct _Eina_Lock Eina_Lock;
typedef struct _Eina_RWLock Eina_RWLock;
typedef struct _Eina_Condition Eina_Condition;
{
struct timespec tv;
Eina_Bool r;
- time_t sec;
- long nsec;
-
- if (t < 0)
- {
- errno = EINVAL;
- return EINA_FALSE;
- }
#ifdef EINA_HAVE_DEBUG_THREADS
assert(_eina_threads_activated);
pthread_mutex_unlock(&_eina_tracking_lock);
#endif
- _eina_time_get(&tv);
- sec = (time_t)t;
- nsec = (t - (double) sec) * 1000000000L;
- tv.tv_sec += sec;
- tv.tv_nsec += nsec;
- if (tv.tv_nsec > 1000000000L)
- {
- tv.tv_sec++;
- tv.tv_nsec -= 1000000000L;
- }
+ tv.tv_sec = t;
+ tv.tv_nsec = (t - (double) tv.tv_sec) * 1000000000;
r = pthread_cond_timedwait(&(cond->condition),
&(cond->lock->mutex),