Changeset 779a4a3 for src/libcfa
- Timestamp:
- May 3, 2018, 4:33:19 PM (8 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, stuck-waitfor-destruct, with_gc
- Children:
- f3152ab
- Parents:
- f465f0e (diff), c9d5c4f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/libcfa
- Files:
-
- 3 edited
-
concurrency/preemption.c (modified) (1 diff)
-
concurrency/thread (modified) (1 diff)
-
interpose.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/preemption.c
rf465f0e r779a4a3 404 404 } 405 405 406 //============================================================================================= 407 // Kernel Signal Debug 408 //============================================================================================= 409 410 void __cfaabi_check_preemption() { 411 bool ready = TL_GET( preemption_state ).enabled; 412 if(!ready) { abort("Preemption should be ready"); } 413 414 sigset_t oldset; 415 int ret; 416 ret = sigprocmask(0, NULL, &oldset); 417 if(ret != 0) { abort("ERROR sigprocmask returned %d", ret); } 418 419 ret = sigismember(&oldset, SIGUSR1); 420 if(ret < 0) { abort("ERROR sigismember returned %d", ret); } 421 422 if(ret == 1) { abort("ERROR SIGUSR1 is disabled"); } 423 } 424 406 425 // Local Variables: // 407 426 // mode: c // -
src/libcfa/concurrency/thread
rf465f0e r779a4a3 20 20 21 21 #include "coroutine" 22 #include "kernel" 22 23 #include "monitor" 23 24 -
src/libcfa/interpose.c
rf465f0e r779a4a3 10 10 // Created On : Wed Mar 29 16:10:31 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Feb 8 16:18:09201813 // Update Count : 7512 // Last Modified On : Tue May 1 15:05:35 2018 13 // Update Count : 83 14 14 // 15 15 … … 95 95 void sigHandler_fpe ( __CFA_SIGPARMS__ ); 96 96 void sigHandler_abort( __CFA_SIGPARMS__ ); 97 void sigHandler_term ( __CFA_SIGPARMS__ ); 97 98 98 99 struct { … … 114 115 __cfaabi_sigaction( SIGFPE , sigHandler_fpe , SA_SIGINFO ); // Failure handler 115 116 __cfaabi_sigaction( SIGABRT, sigHandler_abort, SA_SIGINFO ); // Failure handler 117 __cfaabi_sigaction( SIGTERM, sigHandler_term , SA_SIGINFO ); // Failure handler 118 __cfaabi_sigaction( SIGINT , sigHandler_term , SA_SIGINFO ); // Failure handler 116 119 } 117 120 } … … 268 271 } 269 272 273 void sigHandler_term( __CFA_SIGPARMS__ ) { 274 abort( "Application stopped by %s signal.", sig == SIGINT ? "an interrupt (SIGINT)" : "a terminate (SIGTERM)" ); 275 } 276 270 277 // Local Variables: // 271 278 // mode: c //
Note:
See TracChangeset
for help on using the changeset viewer.