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 
9 #pragma once
10 
19 #include "kernel_defines.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
29 typedef unsigned pthread_t;
30 
47 int pthread_create(pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);
48 
56 void pthread_exit(void *retval) NORETURN;
57 
69 int pthread_join(pthread_t th, void **thread_return);
70 
85 
94 
99 static inline int pthread_equal(pthread_t thread1, pthread_t thread2)
100 {
101  return thread1 == thread2;
102 }
103 
104 #ifdef __cplusplus
105 }
106 #endif
107 
#define NORETURN
The NORETURN keyword tells the compiler to assume that the function cannot return.
Common macros and compiler attributes/pragmas configuration.
int pthread_detach(pthread_t th)
Make a pthread unjoinable.
int pthread_create(pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
Spawn a new POSIX thread.
static int pthread_equal(pthread_t thread1, pthread_t thread2)
Compared two pthread identifiers.
pthread_t pthread_self(void)
Returns the pthread id of the calling/current thread.
void pthread_exit(void *retval) NORETURN
Exit calling pthread.
int pthread_join(pthread_t th, void **thread_return)
Join a pthread.
unsigned pthread_t
Datatype to identify a POSIX thread.
An attribute set to supply to pthread_create()