xref: /haiku/headers/private/system/user_thread_defs.h (revision 24df65921befcd0ad0c5c7866118f922da61cb96)
16b202f4eSIngo Weinhold /*
2*24df6592SIngo Weinhold  * Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
36b202f4eSIngo Weinhold  * Distributed under the terms of the MIT License.
46b202f4eSIngo Weinhold  */
56b202f4eSIngo Weinhold #ifndef _SYSTEM_USER_THREAD_DEFS_H
66b202f4eSIngo Weinhold #define _SYSTEM_USER_THREAD_DEFS_H
76b202f4eSIngo Weinhold 
8*24df6592SIngo Weinhold 
9*24df6592SIngo Weinhold #include <pthread.h>
10*24df6592SIngo Weinhold #include <signal.h>
11*24df6592SIngo Weinhold 
126b202f4eSIngo Weinhold #include <SupportDefs.h>
136b202f4eSIngo Weinhold 
146b202f4eSIngo Weinhold 
156b202f4eSIngo Weinhold struct user_thread {
16*24df6592SIngo Weinhold 	pthread_t		pthread;			// pthread pointer
17*24df6592SIngo Weinhold 	uint32			flags;
18*24df6592SIngo Weinhold 	status_t		wait_status;		// wait status for thread blocking
196b202f4eSIngo Weinhold 	int32			defer_signals;		// counter; 0 == signals allowed
20*24df6592SIngo Weinhold 	sigset_t		pending_signals;	// signals that are pending, when
216b202f4eSIngo Weinhold 										// signals are deferred
226b202f4eSIngo Weinhold };
236b202f4eSIngo Weinhold 
246b202f4eSIngo Weinhold 
256b202f4eSIngo Weinhold #endif	/* _SYSTEM_USER_THREAD_DEFS_H */
26