[compiler-rt] 291e3a8 - [compiler-rt] Update Fuchsia sanitizer sched_yield
    Petr Hosek via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Jul  1 10:26:07 PDT 2022
    
    
  
Author: Petr Hosek
Date: 2022-07-01T17:25:57Z
New Revision: 291e3a85658e264a2918298e804972bd68681af8
URL: https://github.com/llvm/llvm-project/commit/291e3a85658e264a2918298e804972bd68681af8
DIFF: https://github.com/llvm/llvm-project/commit/291e3a85658e264a2918298e804972bd68681af8.diff
LOG: [compiler-rt] Update Fuchsia sanitizer sched_yield
Fuchsia has split overloaded nanosleep(0) for yielding to its own
dedicated syscall, so valid zero deadlines would just return.
Patch By: gevalentino
Differential Revision: https://reviews.llvm.org/D128748
Added: 
    
Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Removed: 
    
################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
index d8cf93ecbeca2..e253b67fc484f 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
@@ -32,7 +32,7 @@ namespace __sanitizer {
 void NORETURN internal__exit(int exitcode) { _zx_process_exit(exitcode); }
 
 uptr internal_sched_yield() {
-  zx_status_t status = _zx_nanosleep(0);
+  zx_status_t status = _zx_thread_legacy_yield(0u);
   CHECK_EQ(status, ZX_OK);
   return 0;  // Why doesn't this return void?
 }
        
    
    
More information about the llvm-commits
mailing list