static mutex_t parsetime_mutex = MUTEX_INITIALIZER;
+static char *rrd_parsetime_nomt(
+ const char *tspec,
+ rrd_time_value_t * ptv);
+
char *rrd_parsetime(
const char *tspec,
rrd_time_value_t * ptv)
{
- time_t now = time(NULL);
- int hr = 0;
-
/* yes this code is non re-entrant ... so lets make sure we do not run
in twice */
mutex_lock(&parsetime_mutex);
+ char *result = rrd_parsetime_nomt(tspec, ptv);
+ mutex_unlock(&parsetime_mutex);
+ return result;
+}
+
+static char *rrd_parsetime_nomt(
+ const char *tspec,
+ rrd_time_value_t * ptv)
+{
+ time_t now = time(NULL);
+ int hr = 0;
/* this MUST be initialized to zero for midnight/noon/teatime */