aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2016-07-19 19:46:02 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2016-07-19 20:00:11 -0400
commit7ae970e73bc1d026bbf65a82c066aab79c860fe8 (patch)
treedbc28229098af78b92996dbcb6b41663598bfcbe /include
parentcf1d1f6e4b1138a5a841a47a2cba4aacdcaf0d72 (diff)
Add sleep_until_mono(), lt_sleep_until() helpers
Diffstat (limited to 'include')
-rw-r--r--include/litmus.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/litmus.h b/include/litmus.h
index 70e7552..751b5ec 100644
--- a/include/litmus.h
+++ b/include/litmus.h
@@ -158,6 +158,10 @@ int sporadic_clustered(lt_t e_ns, lt_t p_ns, int cluster);
158 * @param us Time units in microseconds */ 158 * @param us Time units in microseconds */
159#define us2ns(us) ((us)*1000LL) 159#define us2ns(us) ((us)*1000LL)
160 160
161/** Convert nanoseconds to seconds (truncating)
162 * @param ns Time units in nanoseconds */
163#define ns2s(ns) ((ns)/1000000000LL)
164
161/** 165/**
162 * Locking protocols for allocated shared objects 166 * Locking protocols for allocated shared objects
163 */ 167 */
@@ -330,6 +334,13 @@ int read_litmus_stats(int *ready, int *total);
330int lt_sleep(lt_t timeout); 334int lt_sleep(lt_t timeout);
331 335
332/** 336/**
337 * Sleep until the given point in time.
338 * @param wake_up_time Point in time when to wake up (w.r.t. CLOCK_MONOTONIC,
339 * in nanoseconds).
340 */
341void lt_sleep_until(lt_t wake_up_time);
342
343/**
333 * Obtain CPU time consumed so far 344 * Obtain CPU time consumed so far
334 * @return CPU time in seconds 345 * @return CPU time in seconds
335 */ 346 */
@@ -347,6 +358,18 @@ double wctime(void);
347 */ 358 */
348double monotime(void); 359double monotime(void);
349 360
361/**
362 * Sleep until the given point in time.
363 * @param wake_up_time Point in time when to wake up (w.r.t. CLOCK_MONOTONIC)
364 */
365void sleep_until_mono(double wake_up_time);
366
367/**
368 * Sleep until the given point in time.
369 * @param wake_up_time Point in time when to wake up (w.r.t. CLOCK_REALTIME)
370 */
371void sleep_until_wc(double wake_up_time);
372
350/***** semaphore allocation ******/ 373/***** semaphore allocation ******/
351/** 374/**
352 * Allocate a semaphore following the FMLP protocol 375 * Allocate a semaphore following the FMLP protocol