x86_userspace_thread_exit() did not correctly setup the stack for the syscall.

I don't know why (or how) it could work before r19775, though.
This fixes the wrong return code from wait_for_thread() in most cases, and thus,
bug #1011.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20060 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-02-03 18:30:24 +00:00
parent d4ab0e458d
commit ebabf50a02
+2 -1
View File
@@ -130,9 +130,10 @@ FUNCTION(i386_swap_pgdir):
.align 4
FUNCTION(x86_userspace_thread_exit):
pushl %eax
sub $4, %esp
movl $1, %ecx
lea (%esp), %edx
movl $SYSCALL_EXIT_THREAD, %eax;
movl $SYSCALL_EXIT_THREAD, %eax
int $99
.align 4
FUNCTION(x86_end_userspace_thread_exit):