Revert "eina: Fix _timedwait to handle the given timeout on top of the absolute time"

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 f0a02a92be.
This commit is contained in:
Stefan Schmidt 2014-10-23 15:10:39 +02:00
parent 7b1f4c09b9
commit 4091b4824d
1 changed files with 2 additions and 20 deletions

View File

@ -58,8 +58,6 @@ typedef void (*Eina_Lock_Bt_Func) ();
#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;
@ -378,14 +376,6 @@ eina_condition_timedwait(Eina_Condition *cond, double t)
{
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);
@ -397,16 +387,8 @@ eina_condition_timedwait(Eina_Condition *cond, double t)
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),