Really set errno if __pthread_clone fails.
If r0 == 0, we're the child. If r0 > 0, we're the parent. Otherwise set errno. The __bionic_clone code I copy & pasted was wrong. This patch fixes both. Bug: 3461078 Change-Id: Ibb7d6cc7e54e666841f2f0dc59a141a0b31982e4
This commit is contained in:
		@@ -47,7 +47,7 @@ ENTRY(__pthread_clone)
 | 
			
		||||
 | 
			
		||||
    # In parent, reload saved registers then either exit or set errno.
 | 
			
		||||
    ldmfd   sp!, {r4, r7}
 | 
			
		||||
    bxne    lr
 | 
			
		||||
    bxpl    lr
 | 
			
		||||
    b       __set_syscall_errno
 | 
			
		||||
 | 
			
		||||
1:  # The child.
 | 
			
		||||
@@ -96,7 +96,7 @@ ENTRY(__bionic_clone)
 | 
			
		||||
 | 
			
		||||
    # In the parent, reload saved registers then either exit or set errno.
 | 
			
		||||
    ldmfd   sp!, {r4, r5, r6, r7}
 | 
			
		||||
    bxne    lr
 | 
			
		||||
    bxpl    lr
 | 
			
		||||
    b       __set_syscall_errno
 | 
			
		||||
 | 
			
		||||
1:  # The child.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user