(root)/
glibc-2.38/
sysdeps/
mach/
hurd/
sysdep-cancel.h
       1  #include <sysdep.h>
       2  
       3  int __pthread_enable_asynccancel (void);
       4  void __pthread_disable_asynccancel (int oldtype);
       5  
       6  #pragma weak __pthread_enable_asynccancel
       7  #pragma weak __pthread_disable_asynccancel
       8  
       9  /* Always multi-thread (since there's at least the sig handler), but no
      10     handling enabled.  */
      11  #define SINGLE_THREAD_P (0)
      12  #define RTLD_SINGLE_THREAD_P (0)
      13  
      14  #define LIBC_CANCEL_ASYNC() ({ \
      15  	int __cancel_oldtype = 0; \
      16  	if (__pthread_enable_asynccancel) \
      17  		__cancel_oldtype = __pthread_enable_asynccancel(); \
      18  	__cancel_oldtype; \
      19  })
      20  
      21  #define LIBC_CANCEL_RESET(val) do { \
      22  	if (__pthread_disable_asynccancel) \
      23  		__pthread_disable_asynccancel (val); \
      24  } while (0)