00001
00002
00003
00004 #define CCXX_CONFIG_H_
00005 #define __DLL
00006 #define __EXPORT
00007 #define __DLLRTL
00008 #define __MEMBER_EXPORT
00009
00010 #define CCXX_EMPTY
00011 #define CCXX_EXPORT(t) t
00012 #define CCXX_MEMBER(t) t
00013 #define CCXX_MEMBER_EXPORT(t) t
00014 #define CCXX_CLASS_EXPORT
00015
00016 #define COMMON_ASYNC_OVERRIDE
00017 #define COMMON_OST_NAMESPACE
00018 #define COMMON_THREAD_SLEEP
00019 #define COMMON_NET_DEVICES
00020 #define COMMON_THREAD_DEBUG
00021 #define COMMON_NAMED_MUTEX
00022 #define COMMON_PROCESS_ATTACH
00023 #define COMMON_XML_PARSING
00024
00025 #if __GNUC__ > 1
00026 #define DYNAMIC_LOCAL_ARRAYS
00027 #endif
00028
00029 #if defined(__APPLE__) && defined(__MACH__)
00030 #ifndef MACOSX
00031 #define MACOSX
00032 #endif
00033 #ifndef _PTHREADS
00034 #define _PTHREADS 1
00035 #endif
00036 #endif
00037
00038 #if defined(__FreeBSD__)
00039 #ifndef __BSD_VISIBLE
00040 #define __BSD_VISIBLE 1
00041 #endif
00042 #endif
00043
00044 #ifdef _AIX
00045 #ifndef _ALL_SOURCE
00046 #define _ALL_SOURCE
00047 #endif
00048 #endif
00049
00050 #ifdef __hpux
00051 #ifndef _XOPEN_SOURCE_EXTENDED
00052 #define _XOPEN_SOURCE_EXTENDED
00053 #endif
00054 #endif
00055
00056 #if defined(__sun) || defined(__SUN__)
00057 #define __EXTENSIONS__ 1
00058 #endif
00059
00060 #ifndef _REENTRANT
00061 #define _REENTRANT 1
00062 #endif
00063
00064 #ifndef _THREAD_SAFE
00065 #define _THREAD_SAFE 1
00066 #endif
00067
00068 #ifndef _GNU_SOURCE
00069 #define _GNU_SOURCE 1
00070 #endif
00071
00072 #if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) && !defined(__MACH__)
00073 #define _XOPEN_SOURCE 500
00074 #endif
00075
00076
00077
00078
00079
00080
00081 #define HAVE_UNISTD_H 1
00082 #define HAVE_FEATURES_H 1
00083 #define HAVE_SYS_TYPES_H 1
00084
00085 #ifdef HAVE_UNISTD_H
00086 #include <unistd.h>
00087 #endif
00088
00089 #ifndef WIN32
00090 #ifdef HAVE_FEATURES_H
00091 #include <features.h>
00092 #endif
00093 #endif
00094
00095 #ifdef HAVE_SYS_TYPES_H
00096 #include <sys/types.h>
00097 #endif
00098
00099
00100
00101 #define HAVE_SYS_TIME_H 1
00102 #if TIME_WITH_SYS_TIME
00103 #include <sys/time.h>
00104 #include <ctime>
00105 #else
00106 #if HAVE_SYS_TIME_H
00107 #include <sys/time.h>
00108 #else
00109 #include <ctime>
00110 #endif
00111 #endif
00112
00113
00114
00115
00116 #define HAVE_SYS_TYPES_STD 1
00117 #define HAVE_SYS_TYPES_64 1
00118 #define HAVE_LONG_LONG 1
00119
00120
00121 #ifdef HAVE_SYS_TYPES
00122 #include <sys/types.h>
00123 #endif
00124
00125 #ifdef HAVE_SYS_TYPES_STD
00126 typedef int8_t int8;
00127 typedef u_int8_t uint8;
00128 typedef int16_t int16;
00129 typedef u_int16_t uint16;
00130 typedef int32_t int32;
00131 typedef u_int32_t uint32;
00132 #ifdef HAVE_SYS_TYPES_64
00133 #define HAVE_64_BITS
00134 typedef int64_t int64;
00135 typedef u_int64_t uint64;
00136 #endif
00137 #else
00138 typedef char int8;
00139 typedef unsigned char uint8;
00140 typedef short int16;
00141 typedef unsigned short uint16;
00142 typedef int int32;
00143 typedef unsigned int uint32;
00144 #endif
00145 #ifndef HAVE_SYS_TYPES_64
00146 #if defined(HAVE_LONG_LONG) || defined(_LONGLONG)
00147 #define HAVE_64_BITS
00148 typedef long long int64;
00149 typedef unsigned long long uint64;
00150 #else
00151 #ifdef __arch64__
00152 #define HAVE_64_BITS
00153 typedef long int int64;
00154 typedef unsigned long int uint64;
00155 #endif
00156 #endif
00157 #endif
00158
00159
00160
00161 #define CCXX_HAVE_NEW_INIT 1
00162
00163
00164 #define CCXX_NAMESPACES 1
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176 #define HAVE_ARPA_INET_H 1
00177
00178
00179 #define HAVE_BOOL_TYPE 1
00180
00181
00182
00183
00184
00185 #define HAVE_DLFCN_H 1
00186
00187
00188 #define HAVE_ENDIAN_H 1
00189
00190
00191 #define HAVE_EXCEPTION 1
00192
00193
00194 #define HAVE_EXCEPTION_HANDLING 1
00195
00196
00197 #define HAVE_FCNTL_H 1
00198
00199
00200 #define HAVE_FEATURES_H 1
00201
00202
00203 #define HAVE_GETOPT 1
00204
00205
00206 #define HAVE_GETOPT_H 1
00207
00208
00209 #define HAVE_GETOPT_LONG 1
00210
00211
00212 #define HAVE_GETPWNAM_R 1
00213
00214
00215 #define HAVE_GETPWUID_R 1
00216
00217
00218 #define HAVE_GETTIMEOFDAY 1
00219
00220
00221 #define HAVE_INET_ATON 1
00222
00223
00224 #define HAVE_INET_SOCKETS 1
00225
00226
00227 #define HAVE_INTTYPES_H 1
00228
00229
00230
00231
00232
00233 #define HAVE_LIBXML 1
00234
00235
00236 #define HAVE_LOCALTIME_R 1
00237
00238
00239 #define HAVE_LOCKF 1
00240
00241
00242 #define HAVE_LONG_LONG 1
00243
00244
00245 #define HAVE_LSTAT 1
00246
00247
00248
00249
00250
00251
00252
00253
00254 #define HAVE_MEMMOVE 1
00255
00256
00257 #define HAVE_MEMORY_H 1
00258
00259
00260 #define HAVE_MODULES 1
00261
00262
00263 #define HAVE_NETINET_IN_SYSTM_H 1
00264
00265
00266 #define HAVE_NETINET_IP_H 1
00267
00268
00269
00270
00271
00272 #define HAVE_POLL 1
00273
00274
00275 #define HAVE_POLL_H 1
00276
00277
00278
00279
00280
00281 #define HAVE_PREAD_PWRITE 1
00282
00283
00284 #define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
00285
00286
00287 #define HAVE_PTHREAD_CANCEL 1
00288
00289
00290
00291
00292
00293 #define HAVE_PTHREAD_H 1
00294
00295
00296
00297
00298
00299
00300
00301
00302 #define HAVE_PTHREAD_MUTEXATTR_SETTYPE 1
00303
00304
00305
00306
00307
00308 #define HAVE_PTHREAD_NANOSLEEP 1
00309
00310
00311
00312
00313
00314 #define HAVE_PTHREAD_RWLOCK 1
00315
00316
00317
00318
00319
00320
00321
00322
00323 #define HAVE_PTHREAD_SETCANCELTYPE 1
00324
00325
00326
00327
00328
00329 #define HAVE_PTHREAD_YIELD 1
00330
00331
00332 #define HAVE_READDIR_R 1
00333
00334
00335 #define HAVE_REALPATH 1
00336
00337
00338 #define HAVE_SCHED_GETSCHEDULER 1
00339
00340
00341 #define HAVE_SCHED_H 1
00342
00343
00344
00345
00346
00347 #define HAVE_SEMAPHORE_H 1
00348
00349
00350 #define HAVE_SETENV 1
00351
00352
00353 #define HAVE_SETITIMER 1
00354
00355
00356
00357
00358
00359 #define HAVE_SIGACTION 1
00360
00361
00362 #define HAVE_SIGWAIT 1
00363
00364
00365 #define HAVE_SIGWAIT2 1
00366
00367
00368 #define HAVE_SNPRINTF 1
00369
00370
00371 #define HAVE_SOCKLEN_T 1
00372
00373
00374 #define HAVE_SSTREAM 1
00375
00376
00377
00378
00379
00380 #define HAVE_STDINT_H 1
00381
00382
00383 #define HAVE_STDLIB_H 1
00384
00385
00386 #define HAVE_STRCASECMP 1
00387
00388
00389 #define HAVE_STRDUP 1
00390
00391
00392 #define HAVE_STRERROR_R 1
00393
00394
00395 #define HAVE_STRINGS_H 1
00396
00397
00398 #define HAVE_STRING_H 1
00399
00400
00401 #define HAVE_STRTOK_R 1
00402
00403
00404 #define HAVE_SYSLOG_H 1
00405
00406
00407
00408
00409
00410 #define HAVE_SYS_FCNTL_H 1
00411
00412
00413 #define HAVE_SYS_FILE_H 1
00414
00415
00416
00417
00418
00419
00420
00421
00422 #define HAVE_SYS_PARAM_H 1
00423
00424
00425 #define HAVE_SYS_POLL_H 1
00426
00427
00428
00429
00430
00431 #define HAVE_SYS_SELECT_H 1
00432
00433
00434 #define HAVE_SYS_SOCKET_H 1
00435
00436
00437
00438
00439
00440 #define HAVE_SYS_STAT_H 1
00441
00442
00443
00444
00445
00446 #define HAVE_SYS_TIME_H 1
00447
00448
00449 #define HAVE_SYS_TYPES_64 1
00450
00451
00452 #define HAVE_SYS_TYPES_H 1
00453
00454
00455 #define HAVE_SYS_TYPES_STD 1
00456
00457
00458 #define HAVE_SYS_UN_H 1
00459
00460
00461 #define HAVE_SYS_WAIT_H 1
00462
00463
00464
00465
00466
00467 #define HAVE_UNISTD_H 1
00468
00469
00470 #define HAVE_UNIX_SOCKETS 1
00471
00472
00473 #define HAVE_WAIT4 1
00474
00475
00476 #define HAVE_WAITPID 1
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488 #define HAVE_ZLIB_H 1
00489
00490
00491 #define CCXX_PACKAGE "commoncpp2"
00492
00493
00494 #define CCXX_PACKAGE_BUGREPORT ""
00495
00496
00497 #define CCXX_PACKAGE_NAME ""
00498
00499
00500 #define CCXX_PACKAGE_STRING ""
00501
00502
00503 #define CCXX_PACKAGE_TARNAME ""
00504
00505
00506 #define CCXX_PACKAGE_CCXX_VERSION ""
00507
00508
00509 #define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
00510
00511
00512 #define RETSIGTYPE void
00513
00514
00515 #define STDC_HEADERS 1
00516
00517
00518 #define TIME_WITH_SYS_TIME 1
00519
00520
00521 #define CCXX_VERSION "1.1.0"
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541 #ifndef HAVE_STRERROR_R
00542 #define strerror_r(e, b, l) buf = ::strerror(e)
00543 #endif
00544
00545 #ifndef HAVE_GETPWUID_R
00546 #define getpwuid_r(uid, rec, buf, size, ptr) ptr = ::getpwuid(uid)
00547 #define getpwnam_r(name, rec, buf, size, ptr) ptr = ::getpwnam(name)
00548 #endif
00549
00550
00551
00552
00553 #ifdef HAVE_POLL_H
00554 #include <poll.h>
00555 #else
00556 #ifdef HAVE_SYS_POLL_H
00557 #include <sys/poll.h>
00558 #endif
00559 #endif
00560
00561 #if defined(HAVE_POLL) && defined(POLLRDNORM)
00562 #define USE_POLL
00563 #endif
00564
00565
00566
00567
00568
00569
00570 #ifdef HAVE_SYS_LIBCSYS_H
00571 #include <sys/libcsys.h>
00572 #endif
00573
00574 #ifdef HAVE_WINSOCK2_H
00575 #include <winsock2.h>
00576 #else
00577 #ifdef HAVE_WINSOCK_H
00578 #include <winsock.h>
00579 #else
00580 #ifdef HAVE_SYS_SOCKET_H
00581 #include <sys/socket.h>
00582 #ifdef HAVE_SELECT_H
00583 #include <select.h>
00584 #else
00585 #ifdef HAVE_SYS_SELECT_H
00586 #include <sys/select.h>
00587 #endif
00588 #endif
00589 #ifdef HAVE_ARPA_INET_H
00590 #include <netinet/in.h>
00591 #include <arpa/inet.h>
00592 #include <netdb.h>
00593 #endif
00594 #ifdef HAVE_NETINET_IN_SYSTM_H
00595 #include <netinet/in_systm.h>
00596 #endif
00597 #ifdef HAVE_NETINET_IP_H
00598 #include <netinet/ip.h>
00599 #endif
00600 #ifdef HAVE_SYS_UN_H
00601 #include <sys/un.h>
00602 #endif
00603 #endif
00604 #endif
00605 #endif
00606
00607 #ifndef HAVE_INET_ATON
00608 #define inet_aton(cp, addr) (((*(unsigned long int *)(addr)) = inet_addr(cp)) != -1)
00609 #endif
00610
00611 #ifndef SUN_LEN
00612 #ifdef SCM_RIGHTS
00613 #define HAVE_UN_LEN
00614 #endif
00615 #ifdef __linux__
00616 #define HAVE_UN_LEN
00617 #endif
00618 #ifdef HAVE_UN_LEN
00619 #define SUN_LEN(ptr) sizeof(sockaddr_un.sun_len) + sizeof(sockaddr_un.sun_family) + sizeof(sockaddr_un.sun_path) + 1
00620 #else
00621 #define SUN_LEN(ptr) ((size_t)((struct sockaddr_un *)0)->sun_path) + strlen((ptr)->sun_path))
00622 #endif
00623 #endif
00624
00625 #ifndef HAVE_SOCKLEN_T
00626 #if defined(i386) && defined(__svr4__)
00627 #define HAVE_SOCKLEN_U
00628 #else
00629 #if defined(__CYGWIN32__)
00630 #define socklen_t int
00631 #else
00632 typedef int socklen_t;
00633 #endif
00634 #endif
00635
00636 #ifdef HAVE_SOCKLEN_U
00637 #if !defined(__CYGWIN32__) && !defined(__MINGW32__)
00638 typedef unsigned socklen_t;
00639 #else
00640 typedef int socklen_t;
00641 #endif
00642 #endif
00643 #endif
00644
00645 #ifdef __hpux
00646 #ifdef HAVE_ARPA_INET_H
00647 #include <netinet/inet.h>
00648 #endif
00649 #ifdef mutable
00650
00651 #endif
00652 #endif
00653
00654
00655
00656
00657 #ifndef HAVE_BOOL_TYPE
00658 typedef enum { true=1, false=0 } bool;
00659 #endif
00660
00661
00662
00663
00664
00665 #ifndef HAVE_EXCEPTION_HANDLING
00666
00667 #ifdef HAVE_EXCEPTION
00668 #define HAVE_EXCEPTION 1
00669 #endif
00670
00671 #define THROW(x) abort()
00672
00673 #define THROWS(x)
00674
00675
00676
00677 #define try if(0) ; else
00678 #define catch(x) if(1) ; else
00679 #else
00680 #define THROW(x) throw x
00681 #define THROWS(x) throw(x)
00682 #endif
00683
00684
00685
00686
00687 #ifdef CCXX_NAMESPACES
00688 #define USING(x) using namespace x;
00689 #else
00690 #define USING(x)
00691 #endif
00692
00693 #ifdef __KCC
00694 #define KAI_NONSTD_IOSTREAM 1
00695 #endif
00696
00697
00698
00699
00700 #ifdef HAVE_SS_H
00701 #include <ss.h>
00702 #define COMMON_SECURE
00703 #endif
00704
00705 #ifdef WIN32
00706 #define ETC_PREFIX "C:\\WINDOWS"
00707 #endif
00708
00709 #ifdef __FreeBSD__
00710 #define ETC_PREFIX "/usr/etc/"
00711 #endif
00712
00713 #ifndef ETC_PREFIX
00714 #define ETC_PREFIX "/etc/"
00715 #endif
00716
00717
00718
00719
00720
00721 #ifndef HAVE_FCNTL_H
00722 #ifdef HAVE_SYS_FCNTL_H
00723 #include <sys/fcntl.h>
00724 #endif
00725 #else
00726 #include <fcntl.h>
00727 #ifndef O_NDELAY
00728 #ifdef HAVE_SYS_FCNTL_H
00729 #include <sys/fcntl.h>
00730 #endif
00731 #endif
00732 #endif
00733
00734
00735
00736 #ifdef HAVE_ENDIAN_H
00737 #include <endian.h>
00738 #else
00739 #ifdef HAVE_SYS_ISA_DEFS_H
00740 #include <sys/isa_defs.h>
00741 #else
00742 #define __LITTLE_ENDIAN 1234
00743 #define __BIG_ENDIAN 4321
00744 #endif
00745 #endif
00746
00747
00748
00749 #ifdef HAVE_SIGACTION
00750 #ifdef HAVE_BSD_SIGNAL_H
00751
00752 #endif
00753 #endif
00754
00755 #ifdef HAVE_BSD_SIGNAL_H
00756 #include <bsd/signal.h>
00757 #else
00758 #include <signal.h>
00759 #endif
00760 #ifndef SA_ONESHOT
00761 #define SA_ONESHOT SA_RESETHAND
00762 #endif
00763
00764
00765
00766
00767
00768
00769 #ifdef HAVE_SIGWAIT2
00770 #ifndef _POSIX_PTHREAD_SEMANTICS
00771 #define _POSIX_PTHREAD_SEMANTICS
00772 #endif
00773 #endif
00774
00775
00776
00777
00778 #include <string.h>
00779 #ifdef HAVE_STRINGS_H
00780 #include <strings.h>
00781 #endif
00782
00783 #ifndef HAVE_SNPRINTF
00784 #ifdef WIN32
00785 #define snprintf _snprintf
00786 #define vsnprintf _vsnprintf
00787 #endif
00788 #endif
00789
00790 #ifdef HAVE_STRCASECMP
00791 #ifndef stricmp
00792 #define stricmp(x,y) strcasecmp(x,y)
00793 #endif
00794 #ifndef strnicmp
00795 #define strnicmp(x,y,n) strncasecmp(x,y,n)
00796 #endif
00797 #endif
00798
00799
00800
00801
00802
00803 #ifdef HAVE_THREAD_H
00804 #include "/usr/include/thread.h"
00805 #if defined(i386) && defined(__svr4__) && !defined(__sun)
00806 #define _THR_UNIXWARE
00807 #endif
00808 #if defined(__SVR4) && defined(__sun)
00809 #define _THR_SUNOS5
00810 #else
00811 #if defined(__SVR4__) && defined(__SUN__)
00812 #define _THR_SUNOS5
00813 #endif
00814 #endif
00815 #endif
00816
00817 #ifdef HAVE_WORKING_SYS_ATOMIC_H
00818 #include <sys/atomic.h>
00819 #define HAVE_ATOMIC
00820 #endif
00821
00822 #if defined(HAVE_PTHREAD_H) && ( defined(_THREAD_SAFE) || defined(_REENTRANT) )
00823
00824 #include <pthread.h>
00825
00826 #ifdef HAVE_PTHREAD_NP_H
00827 #include <pthread_np.h>
00828 #endif
00829
00830 #ifdef HAVE_SEMAPHORE_H
00831 #include <semaphore.h>
00832 #endif
00833 #ifdef _POSIX_PRIORITY_SCHEDULING
00834 #ifdef HAVE_SCHED_H
00835 #include <sched.h>
00836 #else
00837 #ifdef HAVE_SYS_SCHED_H
00838 #include <sys/sched.h>
00839 #endif
00840 #endif
00841 #endif
00842
00843 #define __PTHREAD_H__
00844 #ifndef PTHREAD_MUTEXTYPE_RECURSIVE
00845 #ifdef MUTEX_TYPE_COUNTING_FAST
00846 #define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
00847 #endif
00848 #endif
00849 #ifndef PTHREAD_MUTEXTYPE_RECURSIVE
00850 #ifdef PTHREAD_MUTEX_RECURSIVE
00851 #define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
00852 #endif
00853 #endif
00854 #ifndef HAVE_PTHREAD_MUTEXATTR_SETTYPE
00855 #if HAVE_PTHREAD_MUTEXATTR_SETKIND_NP
00856 #ifndef PTHREAD_MUTEXTYPE_RECURSIVE
00857 #define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
00858 #endif
00859 #define pthread_mutexattr_gettype(x, y) pthread_mutexattr_getkind_np(x, y)
00860 #define pthread_mutexattr_settype(x, y) pthread_mutexattr_setkind_np(x, y)
00861 #endif
00862 #if HAVE_PTHREAD_MUTEXATTR_SETTYPE_NP
00863 #ifndef PTHREAD_MUTEXTYPE_RECURSIVE
00864 #define PTHREAD_MUTEXTYPE_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
00865 #endif
00866 #define pthread_mutexattr_settype(x, y) pthread_mutexattr_settype_np(x, y)
00867 #define pthread_mutexattr_gettype(x, y) pthread_mutexattr_gettype_np(x, y)
00868 #endif
00869 #endif
00870
00871 #ifdef HAVE_PTHREAD_MACH_THREAD_NP
00872 #define _THR_MACH
00873 #endif
00874
00875 #ifndef HAVE_PTHREAD_YIELD
00876 #ifdef HAVE_PTHREAD_SCHED_YIELD
00877 #define pthread_yield() sched_yield()
00878 #define HAVE_PTHREAD_YIELD
00879 #endif
00880 #endif
00881
00882 #ifndef HAVE_PTHREAD_DELAY
00883 #ifdef HAVE_PTHREAD_DELAY_NP
00884 #define HAVE_PTHREAD_DELAY
00885 #define pthread_delay(x) pthread_delay_np(x)
00886 #endif
00887 #if defined(HAVE_PTHREAD_NANOSLEEP)
00888 #ifndef HAVE_PTHREAD_DELAY
00889 #define HAVE_PTHREAD_DELAY
00890 #ifdef __FreeBSD__
00891 extern "C" int nanosleep(const struct timespec *rqtp, struct timespec
00892 *rmtp);
00893 #endif
00894 #define pthread_delay(x) nanosleep(x, NULL)
00895 #endif
00896 #endif
00897 #endif
00898
00899 #ifdef HAVE_PTHREAD_ATTR_SETSTACK
00900 #ifndef PTHREAD_STACK_MIN
00901 #define PTHREAD_STACK_MIN 32768
00902 #endif
00903 #endif
00904
00905 #ifndef HAVE_PTHREAD_CANCEL
00906 #ifdef SIGCANCEL
00907 #define CCXX_SIG_THREAD_CANCEL SIGCANCEL
00908 #else
00909 #define CCXX_SIG_THREAD_CANCEL SIGQUIT
00910 #endif
00911 #define pthread_cancel(x) pthread_kill(x, CCXX_SIG_THREAD_CANCEL)
00912 #endif
00913
00914 #ifndef HAVE_PTHREAD_SETCANCELTYPE
00915 #ifdef HAVE_PTHREAD_SETCANCEL
00916 enum
00917 { PTHREAD_CANCEL_ASYNCHRONOUS = CANCEL_ON,
00918 PTHREAD_CANCEL_DEFERRED = CANCEL_OFF};
00919 enum
00920 { PTHREAD_CANCEL_ENABLE = CANCEL_ON,
00921 PTHREAD_CANCEL_DISABLE = CANCEL_OFF};
00922 #define pthread_setcancelstate(x, y) \
00923 (y == NULL) ? pthread_setcancel(x) : *y = pthread_setcancel
00924 #define pthread_setcanceltype(x, y) \
00925 (y == NULL) ? pthread_setasynccancel(x) | *y = pthread_setasynccancel(x)
00926 #else
00927 #define pthread_setcanceltype(x, y)
00928 #define pthread_setcancelstate(x, y)
00929 #endif
00930 #endif
00931
00932 #ifdef _AIX
00933 #ifdef HAVE_PTHREAD_SUSPEND
00934
00935 #endif
00936 #endif
00937
00938 #endif
00939
00940
00941