Changeset b158d8f for src/libcfa/concurrency/preemption.c
- Timestamp:
- Jan 23, 2018, 5:02:46 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- b6838214
- Parents:
- 6ba16fa
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/preemption.c
r6ba16fa rb158d8f 10 10 // Created On : Mon Jun 5 14:20:42 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 21 22:36:05 201713 // Update Count : 212 // Last Modified On : Tue Jan 23 13:56:32 2018 13 // Update Count : 6 14 14 // 15 15 16 16 #include "preemption.h" 17 17 18 #define ftype `ftype` 18 19 extern "C" { 19 20 #include <errno.h> … … 26 27 #include <unistd.h> 27 28 } 28 29 #undef ftype 29 30 30 31 #ifdef __USE_STREAM__ … … 60 61 61 62 // Machine specific register name 62 #if def __x86_64__63 #if defined(__x86_64__) 63 64 #define CFA_REG_IP REG_RIP 64 #el se65 #elif defined(__i386__) 65 66 #define CFA_REG_IP REG_EIP 67 #elif defined(__ARM_ARCH__) 68 #define CFA_REG_IP REG_R15 66 69 #endif 67 70 … … 296 299 // Receives SIGUSR1 signal and causes the current thread to yield 297 300 void sigHandler_ctxSwitch( __CFA_SIGPARMS__ ) { 298 __cfaabi_dbg_debug_do( last_interrupt = (void *)(cxt->uc_mcontext. gregs[CFA_REG_IP]); )301 __cfaabi_dbg_debug_do( last_interrupt = (void *)(cxt->uc_mcontext.arm_pc); ) 299 302 300 303 // Check if it is safe to preempt here
Note: See TracChangeset
for help on using the changeset viewer.