OpenMPI  0.1.1
orte_locks.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2006 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * $COPYRIGHT$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 
19 /**
20  * @file
21  *
22  * Locks to prevent loops inside ORTE
23  */
24 #ifndef ORTE_LOCKS_H
25 #define ORTE_LOCKS_H
26 
27 #include "orte_config.h"
28 
29 #include "opal/sys/atomic.h"
30 
31 BEGIN_C_DECLS
32 
33 /* for everyone */
34 ORTE_DECLSPEC extern opal_atomic_lock_t orte_finalize_lock;
35 
36 /* for HNPs */
37 ORTE_DECLSPEC extern opal_atomic_lock_t orte_abort_inprogress_lock;
38 ORTE_DECLSPEC extern opal_atomic_lock_t orte_jobs_complete_lock;
39 ORTE_DECLSPEC extern opal_atomic_lock_t orte_quit_lock;
40 
41 /**
42  * Initialize the locks
43  */
44 ORTE_DECLSPEC int orte_locks_init(void);
45 
46 END_C_DECLS
47 
48 #endif /* #ifndef ORTE_LOCKS_H */
Volatile lock object (with optional padding).
Definition: atomic.h:102
Atomic operations.
ORTE_DECLSPEC int orte_locks_init(void)
Initialize the locks.
Definition: orte_locks.c:33