blob: 6aa891c4335e099895cfdef89cb31c631a8ee4e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
// -*- C++ -*-
//
// $Id$
// The following configuration file is designed to work for Linux
// platforms using GNU C++.
#ifndef ACE_CONFIG_LINUX_H
#define ACE_CONFIG_LINUX_H
#include "ace/pre.h"
#include "ace/config-linux-common.h"
#define ACE_HAS_SVR4_DYNAMIC_LINKING
#define ACE_HAS_AUTOMATIC_INIT_FINI
#if !defined (ACE_MT_SAFE)
#define ACE_MT_SAFE 1 // JCEJ 12/22/96 #1
#endif
#if ACE_MT_SAFE
// Yes, we do have threads.
#define ACE_HAS_THREADS
// And they're even POSIX pthreads (LinuxThreads implementation)
#define ACE_HAS_PTHREADS
#if !defined (ACE_HAS_PTHREADS_UNIX98_EXT)
# define ACE_LACKS_RWLOCK_T
#endif /* !ACE_HAS_PTHREADS_UNIX98_EXT */
// ... and the final standard even!
#define ACE_HAS_PTHREADS_STD
#define ACE_HAS_THREAD_SPECIFIC_STORAGE // jcej 12/22/96 #2
#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS // JCEJ 1/7-8/96
#if defined(__GLIBC__)
// Platform supports reentrant functions (i.e., all the POSIX *_r
// functions).
#define ACE_HAS_REENTRANT_FUNCTIONS
#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1)
// Older versions of glibc lacked reentrant netdb functions
# define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
// glibc < 2.1 lacks pthread_attr_setstacksize()
# define ACE_LACKS_THREAD_STACK_SIZE
#endif /* (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1) */
// uses ctime_r & asctime_r with only two parameters vs. three
#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#endif
#include /**/ <pthread.h>
#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
// glibc 2.2.x or better has pthread_mutex_timedlock()
# define ACE_HAS_MUTEX_TIMEOUTS
# if !defined (_XOPEN_SOURCE) \
|| (defined (_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0) < 600)
// pthread_mutex_timedlock() prototype is not visible if _XOPEN_SOURCE
// is not >= 600 (i.e. for XPG6).
extern "C" int pthread_mutex_timedlock (pthread_mutex_t *mutex,
const struct timespec * abstime);
# endif /* _XOPEN_SOURCE && _XOPEN_SOURCE < 600 */
#endif /* (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) */
#endif /* ACE_MT_SAFE */
#include "ace/post.h"
#endif /* ACE_CONFIG_LINUX_H */
|