mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			666 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			666 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include <sysdep.h>
 | 
						|
 | 
						|
int __pthread_enable_asynccancel (void);
 | 
						|
void __pthread_disable_asynccancel (int oldtype);
 | 
						|
 | 
						|
#pragma weak __pthread_enable_asynccancel
 | 
						|
#pragma weak __pthread_disable_asynccancel
 | 
						|
 | 
						|
/* Always multi-thread (since there's at least the sig handler), but no
 | 
						|
   handling enabled.  */
 | 
						|
#define SINGLE_THREAD_P (0)
 | 
						|
#define RTLD_SINGLE_THREAD_P (0)
 | 
						|
 | 
						|
#define LIBC_CANCEL_ASYNC() ({ \
 | 
						|
	int __cancel_oldtype = 0; \
 | 
						|
	if (__pthread_enable_asynccancel) \
 | 
						|
		__cancel_oldtype = __pthread_enable_asynccancel(); \
 | 
						|
	__cancel_oldtype; \
 | 
						|
})
 | 
						|
 | 
						|
#define LIBC_CANCEL_RESET(val) do { \
 | 
						|
	if (__pthread_disable_asynccancel) \
 | 
						|
		__pthread_disable_asynccancel (val); \
 | 
						|
} while (0)
 |