Changeset da3963a for libcfa/src/concurrency/kernel
- Timestamp:
- Feb 12, 2021, 12:27:08 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:
- 565acf59
- Parents:
- 32c2c5e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel/startup.cfa
r32c2c5e rda3963a 80 80 static void ?{}(processorCtx_t & this) {} 81 81 static void ?{}(processorCtx_t & this, processor * proc, current_stack_info_t * info); 82 static void ?{}(__bin_sem_t & this); 83 static void ^?{}(__bin_sem_t & this); 82 84 83 85 #if defined(__CFA_WITH_VERIFY__) … … 736 738 } 737 739 740 extern "C" { 741 char * strerror(int); 742 } 743 #define CHECKED(x) { int err = x; if( err != 0 ) abort("KERNEL ERROR: Operation \"" #x "\" return error %d - %s\n", err, strerror(err)); } 744 745 static void ?{}(__bin_sem_t & this) with( this ) { 746 // Create the mutex with error checking 747 pthread_mutexattr_t mattr; 748 pthread_mutexattr_init( &mattr ); 749 pthread_mutexattr_settype( &mattr, PTHREAD_MUTEX_ERRORCHECK_NP); 750 pthread_mutex_init(&lock, &mattr); 751 752 pthread_cond_init (&cond, (const pthread_condattr_t *)0p); // workaround trac#208: cast should not be required 753 val = 0; 754 } 755 756 static void ^?{}(__bin_sem_t & this) with( this ) { 757 CHECKED( pthread_mutex_destroy(&lock) ); 758 CHECKED( pthread_cond_destroy (&cond) ); 759 } 760 761 #undef CHECKED 738 762 739 763 #if defined(__CFA_WITH_VERIFY__)
Note: See TracChangeset
for help on using the changeset viewer.