The friendly Operating System for the Internet of Things
pthread_threading.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 RenĂ© Kijewski <rene.kijewski@fu-berlin.de>
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
17 #ifndef SYS__POSIX__PTHREAD_THREADING__H
18 #define SYS__POSIX__PTHREAD_THREADING__H
19 
20 #include "kernel_defines.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
30 typedef unsigned pthread_t;
31 
48 int pthread_create(pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);
49 
58 void pthread_exit(void *retval) NORETURN;
59 
71 int pthread_join(pthread_t th, void **thread_return);
72 
86 int pthread_detach(pthread_t th);
87 
95 pthread_t pthread_self(void);
96 
101 static inline int pthread_equal(pthread_t thread1, pthread_t thread2)
102 {
103  return thread1 == thread2;
104 }
105 
106 #ifdef __cplusplus
107 }
108 #endif
109 
110 #endif /* SYS__POSIX__PTHREAD_THREADING__H */
111 
int pthread_create(pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
Spawn a new POSIX thread.
void pthread_exit(void *retval) NORETURN
Exit calling pthread.
int pthread_detach(pthread_t th)
Make a pthread unjoinable.
unsigned pthread_t
Datatype to identify a POSIX thread.
An attribute set to supply to pthread_create()
Common macros and compiler attributes/pragmas configuration.
int pthread_join(pthread_t th, void **thread_return)
Join a pthread.
pthread_t pthread_self(void)
Returns the pthread id of the calling/current thread.
static int pthread_equal(pthread_t thread1, pthread_t thread2)
Compared two pthread identifiers.
#define NORETURN
The NORETURN keyword tells the compiler to assume that the function cannot return.