Changes

Jump to navigation Jump to search
681 bytes added ,  00:29, 24 September 2018
Add svcCancelSynchronization section
Line 53: Line 53:  
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx
 
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx
 
|-
 
|-
| 0x19 || svcCancelSynchronization || W0=thread_handle || W0=result
+
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result
 
|-
 
|-
 
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle ||                                     
 
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle ||                                     
Line 665: Line 665:     
'''0xec01:''' Interrupted. Returns when another thread uses [[#svcCancelSynchronization]] to cancel this thread.
 
'''0xec01:''' Interrupted. Returns when another thread uses [[#svcCancelSynchronization]] to cancel this thread.
 +
 +
== svcCancelSynchronization ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || Handle<Thread> || Handle
 +
|-
 +
| (Out) W0 || [[#Result]] || Ret
 +
|}
 +
</div>
 +
 +
If the referenced thread is currently in an [[#svcWaitSynchronization]] call, that call will be interrupted and return 0xec01.
 +
If that thread is not currently executing [[#svcWaitSynchronization]], the next call to [[#svcWaitSynchronization]] will return 0xec01.
 +
 +
=== Result codes ===
 +
 +
'''0x0:''' Success. The thread was either interrupted or has had its flag set.
 +
 +
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.
    
== svcGetSystemTick ==
 
== svcGetSystemTick ==
117

edits

Navigation menu