-/* xbt/synchro_core.h -- Synchronization tools */
-/* Usable in simulator, (or in real life when mixing with GRAS) */
+/* xbt/synchro_core.h -- Simulated synchronization */
-/* Copyright (c) 2009-2014. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2016. The SimGrid Team. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#ifndef _XBT_THREAD_H
#define _XBT_THREAD_H
+#include <simgrid/simix.h>
+
#include "xbt/misc.h" /* SG_BEGIN_DECL */
#include "xbt/function_types.h"
/** @addtogroup XBT_synchro
* @brief XBT synchronization tools
- *
- * This section describes the XBT synchronization tools.
- * This is a portability layer (for windows and UNIX) of a pthread-like API. Nice, isn't it?
- *
+ *
+ * This section describes the simulated synchronization mechanisms,
+ * that you can use in your simulation without deadlocks. See @ref
+ * faq_MIA_thread_synchronization for details.
+ *
* @{
*/
-
/** @brief Thread mutex data type (opaque object)
* @hideinitializer
*/
-typedef struct s_xbt_mutex_ *xbt_mutex_t;
+typedef struct s_smx_mutex_ *xbt_mutex_t;
/** @brief Creates a new mutex variable */
XBT_PUBLIC(xbt_mutex_t) xbt_mutex_init(void);
/** @brief Thread condition data type (opaque object)
* @hideinitializer
*/
-typedef struct s_xbt_cond_ *xbt_cond_t;
+typedef struct s_smx_cond_ *xbt_cond_t;
/** @brief Creates a condition variable */
XBT_PUBLIC(xbt_cond_t) xbt_cond_init(void);