- Timestamp:
- Sep 30, 2020, 4:44:22 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 4e39f51
- Parents:
- d035cf7
- Location:
- doc/theses/thierry_delisle_PhD/code/readQ_example/thrdlib
- Files:
-
- 3 added
- 1 deleted
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/thierry_delisle_PhD/code/readQ_example/thrdlib/fibre.cpp
rd035cf7 r29185fc 1 #pragma once2 3 1 #include <cassert> 4 2 #include <libfibre/cfibre.h> 5 3 6 #if defined(__cforall) || defined(__cpluplus) 4 typedef cfibre_t thread_t; 5 static_assert(sizeof(thread_t) == sizeof(void*), "thread_t musst be of same size as void*"); 6 7 void * fibre_runner(void * arg) { 8 auto the_main = (void (*)( thread_t ))arg; 9 the_main( cfibre_self() ); 10 return nullptr; 11 } 12 7 13 extern "C" { 8 #endif9 //--------------------10 // Basic types11 typedef cfibre_t thread_t;12 13 void * fibre_runner(void * arg) {14 auto the_main = (void (*)( thread_t ))arg;15 the_main( cfibre_self() );16 return nullptr;17 }18 19 14 //-------------------- 20 15 // Basic thread support … … 51 46 52 47 } 53 54 55 #if defined(__cforall) || defined(__cpluplus)56 48 } 57 #endif -
doc/theses/thierry_delisle_PhD/code/readQ_example/thrdlib/pthread.cpp
rd035cf7 r29185fc 1 #pragma once2 3 1 #include <pthread.h> 4 2 #include <errno.h> … … 56 54 #undef CHECKED 57 55 58 #if defined(__cforall) || defined(__cpluplus) 56 //-------------------- 57 // Basic types 58 struct pthread_runner_t { 59 pthread_t handle; 60 __bin_sem_t sem; 61 }; 62 typedef pthread_runner_t * thread_t; 63 64 static_assert(sizeof(thread_t) == sizeof(void*), "thread_t musst be of same size as void*"); 65 59 66 extern "C" { 60 #endif61 //--------------------62 // Basic types63 struct pthread_runner_t {64 pthread_t handle;65 __bin_sem_t sem;66 };67 typedef pthread_runner_t * thread_t;68 69 67 //-------------------- 70 68 // Basic thread support … … 99 97 // Basic kernel features 100 98 void thrdlib_init( int ) {} 101 void thrdlib_clean( void ) {}102 103 104 #if defined(__cforall) || defined(__cpluplus)105 99 } 106 #endif
Note: See TracChangeset
for help on using the changeset viewer.