aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Borner2023-06-17 14:40:04 +0200
committerMarvin Borner2023-06-17 14:40:04 +0200
commit94305d2680e55dbfc363ca613146dfc2818f0171 (patch)
tree675642e7b7092ad6fe80701987c04d344e408475
parent47d30d97b707b575d5d68e2b61aade245585734b (diff)
Added thread waiting
-rw-r--r--sort.asm14
1 files changed, 14 insertions, 0 deletions
diff --git a/sort.asm b/sort.asm
index 9b3569b..c66b6a9 100644
--- a/sort.asm
+++ b/sort.asm
@@ -19,6 +19,7 @@ loop:
jnz loop
end:
+ call thread_wait_all
pop rbp
mov rax, 0x3c
mov rdi, 0
@@ -78,6 +79,19 @@ thread_run:
mov rax, r10
ret
+thread_wait_all:
+ sub rsp, 4
+ mov rdi, -1
+ mov rax, 0x3d
+ mov rsi, rsp
+ xor rdx, rdx
+ xor r10, r10
+ syscall ; wait4
+ add rsp, 4
+ cmp rax, -10 ; idk why
+ jne thread_wait_all
+ ret
+
child:
call rax