|
Packit Service |
c5cf8c |
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
|
|
Packit Service |
c5cf8c |
/*
|
|
Packit Service |
c5cf8c |
* (C) 2001 by Argonne National Laboratory.
|
|
Packit Service |
c5cf8c |
* See COPYRIGHT in top-level directory.
|
|
Packit Service |
c5cf8c |
*/
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#ifndef MPL_THREAD_H_INCLUDED
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_H_INCLUDED
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#include "mplconfig.h"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/* _INVALID exists to avoid accidental macro evaluations to 0 */
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_INVALID 0
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_NONE 1
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_POSIX 2
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_SOLARIS 3
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_WIN 4
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_UTI 5
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_PACKAGE_ARGOBOTS 6
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#if defined(MPL_THREAD_PACKAGE_NAME) && (MPL_THREAD_PACKAGE_NAME == MPL_THREAD_PACKAGE_POSIX || MPL_THREAD_PACKAGE_NAME == MPL_THREAD_PACKAGE_UTI)
|
|
Packit Service |
c5cf8c |
#include "mpl_thread_posix.h"
|
|
Packit Service |
c5cf8c |
#elif defined(MPL_THREAD_PACKAGE_NAME) && (MPL_THREAD_PACKAGE_NAME == MPL_THREAD_PACKAGE_SOLARIS)
|
|
Packit Service |
c5cf8c |
#include "mpl_thread_solaris.h"
|
|
Packit Service |
c5cf8c |
#elif defined(MPL_THREAD_PACKAGE_NAME) && (MPL_THREAD_PACKAGE_NAME == MPL_THREAD_PACKAGE_WIN)
|
|
Packit Service |
c5cf8c |
#include "mpl_thread_win.h"
|
|
Packit Service |
c5cf8c |
#elif defined(MPL_THREAD_PACKAGE_NAME) && (MPL_THREAD_PACKAGE_NAME == MPL_THREAD_PACKAGE_ARGOBOTS)
|
|
Packit Service |
c5cf8c |
#include "mpl_thread_argobots.h"
|
|
Packit Service |
c5cf8c |
#elif defined(MPL_THREAD_PACKAGE_NAME) && (MPL_THREAD_PACKAGE_NAME == MPL_THREAD_PACKAGE_NONE)
|
|
Packit Service |
c5cf8c |
typedef int MPL_thread_mutex_t;
|
|
Packit Service |
c5cf8c |
typedef int MPL_thread_cond_t;
|
|
Packit Service |
c5cf8c |
typedef int MPL_thread_id_t;
|
|
Packit Service |
c5cf8c |
typedef int MPL_thread_tls_t;
|
|
Packit Service |
c5cf8c |
typedef void (*MPL_thread_func_t) (void *data);
|
|
Packit Service |
c5cf8c |
#define MPL_thread_mutex_create(mutex_ptr_, err_ptr_) { *((int*)err_ptr_) = 0;}
|
|
Packit Service |
c5cf8c |
#define MPL_thread_mutex_destroy(mutex_ptr_, err_ptr_) { *((int*)err_ptr_) = 0;}
|
|
Packit Service |
c5cf8c |
#else
|
|
Packit Service |
c5cf8c |
#error "thread package (MPL_THREAD_PACKAGE_NAME) not defined or unknown"
|
|
Packit Service |
c5cf8c |
#endif
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/* Error values */
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_SUCCESS 0
|
|
Packit Service |
c5cf8c |
#define MPL_THREAD_ERROR 1
|
|
Packit Service |
c5cf8c |
/* FIXME: Define other error codes. For now, any non-zero value is an error. */
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#include "mpl_thread_priv.h"
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#endif /* MPL_THREAD_H_INCLUDED */
|