mirror of https://github.com/golang/go.git
runtime: correct setNonblock on linux/arm64
The current code uses EOR (exclusive OR), which will result in the O_NONBLOCK flag being toggled rather than being set. Other implementations use OR, hence this is likely a bug. Change-Id: I5dafa9c572452070bd37789c8a731ad6d04a86cd Reviewed-on: https://go-review.googlesource.com/c/go/+/212766 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
f266cce676
commit
edf3ec987f
|
|
@ -688,7 +688,7 @@ TEXT runtime·setNonblock(SB),NOSPLIT|NOFRAME,$0-4
|
|||
MOVD $SYS_fcntl, R8
|
||||
SVC
|
||||
MOVD $0x800, R2 // O_NONBLOCK
|
||||
EOR R0, R2
|
||||
ORR R0, R2
|
||||
MOVW fd+0(FP), R0 // fd
|
||||
MOVD $4, R1 // F_SETFL
|
||||
MOVD $SYS_fcntl, R8
|
||||
|
|
|
|||
Loading…
Reference in New Issue