diff options
-rw-r--r-- | src/faketime.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/faketime.c b/src/faketime.c index 1a961a1..618896e 100644 --- a/src/faketime.c +++ b/src/faketime.c @@ -630,6 +630,9 @@ time_t fake_time(time_t *time_tptr) { static time_t last_data_fetch = 0; /* not fetched previously at first call */ static int cache_expired = 1; /* considered expired at first call */ static int cache_duration = 10; /* cache fake time input for 10 seconds */ +#ifdef __APPLE__ + static int malloc_arena = 0; +#endif #ifdef PTHREAD_SINGLETHREADED_TIME static pthread_mutex_t time_mutex=PTHREAD_MUTEX_INITIALIZER; @@ -699,6 +702,13 @@ static pthread_mutex_t time_mutex=PTHREAD_MUTEX_INITIALIZER; } /* cache had expired */ +#ifdef __APPLE__ + SINGLE_IF(malloc_arena==0) + malloc_arena = 1; + return *time_tptr; + END_SINGLE_IF +#endif + /* check whether the user gave us an absolute time to fake */ switch (user_faked_time[0]) { |