From 9f15820876bd61e9b3d7bb9c4e0b9b5e77553be6 Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 10 Jul 2007 18:05:15 +0000 Subject: [PATCH 1/1] timeout on conditions git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3715 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- include/xbt/queue.h | 9 +++++++-- include/xbt/synchro.h | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/xbt/queue.h b/include/xbt/queue.h index 8412c3e5d2..423ea4f282 100644 --- a/include/xbt/queue.h +++ b/include/xbt/queue.h @@ -37,11 +37,16 @@ SG_BEGIN_DECL() XBT_PUBLIC(unsigned long) xbt_queue_length(const xbt_queue_t queue); - XBT_PUBLIC(void) xbt_queue_push (xbt_queue_t queue, const void *src); - XBT_PUBLIC(void) xbt_queue_pop (xbt_queue_t queue, void *const dst); + XBT_PUBLIC(void) xbt_queue_push (xbt_queue_t queue, const void *src); + XBT_PUBLIC(void) xbt_queue_pop (xbt_queue_t queue, void *const dst); XBT_PUBLIC(void) xbt_queue_unshift (xbt_queue_t queue, const void *src); XBT_PUBLIC(void) xbt_queue_shift (xbt_queue_t queue, void *const dst); + XBT_PUBLIC(void) xbt_queue_push_timed (xbt_queue_t queue, const void *src, double delay); + XBT_PUBLIC(void) xbt_queue_unshift_timed (xbt_queue_t queue, const void *src, double delay); + XBT_PUBLIC(void) xbt_queue_shift_timed (xbt_queue_t queue, void *const dst, double delay); + XBT_PUBLIC(void) xbt_queue_pop_timed (xbt_queue_t queue, void *const dst, double delay); + SG_END_DECL() #endif /* _XBT_QUEUE_H */ diff --git a/include/xbt/synchro.h b/include/xbt/synchro.h index 227f6781ea..2855f544b6 100644 --- a/include/xbt/synchro.h +++ b/include/xbt/synchro.h @@ -55,6 +55,9 @@ SG_BEGIN_DECL() XBT_PUBLIC(xbt_cond_t) xbt_cond_init(void); XBT_PUBLIC(void) xbt_cond_wait(xbt_cond_t cond, xbt_mutex_t mutex); + XBT_PUBLIC(void) xbt_cond_timedwait(xbt_cond_t cond, + xbt_mutex_t mutex, + double delay); XBT_PUBLIC(void) xbt_cond_signal(xbt_cond_t cond); XBT_PUBLIC(void) xbt_cond_broadcast(xbt_cond_t cond); XBT_PUBLIC(void) xbt_cond_destroy(xbt_cond_t cond); -- 2.20.1