]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: remove always false comparison in sigsend
authorTodd Neal <todd@tneal.org>
Tue, 25 Aug 2015 23:25:42 +0000 (18:25 -0500)
committerIan Lance Taylor <iant@golang.org>
Wed, 26 Aug 2015 01:02:55 +0000 (01:02 +0000)
s is a uint32 and can never be zero. It's max value is already tested
against sig.wanted, whose size is derived from _NSIG.  This also
matches the test in signal_enable.

Fixes #11282

Change-Id: I8eec9c7df8eb8682433616462fe51b264c092475
Reviewed-on: https://go-review.googlesource.com/13940
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/runtime/sigqueue.go

index 3f50a59c14c5f865d4514b082d2a8279b8c16ffd..e6e1a84063dd5adae2af705ff643d7bd2e323f26 100644 (file)
@@ -49,7 +49,7 @@ const (
 // Reports whether the signal was sent. If not, the caller typically crashes the program.
 func sigsend(s uint32) bool {
        bit := uint32(1) << uint(s&31)
-       if !sig.inuse || s < 0 || int(s) >= 32*len(sig.wanted) || sig.wanted[s/32]&bit == 0 {
+       if !sig.inuse || s >= uint32(32*len(sig.wanted)) || sig.wanted[s/32]&bit == 0 {
                return false
        }
 
@@ -137,7 +137,7 @@ func signal_enable(s uint32) {
                return
        }
 
-       if int(s) >= len(sig.wanted)*32 {
+       if s >= uint32(len(sig.wanted)*32) {
                return
        }
        sig.wanted[s/32] |= 1 << (s & 31)
@@ -146,7 +146,7 @@ func signal_enable(s uint32) {
 
 // Must only be called from a single goroutine at a time.
 func signal_disable(s uint32) {
-       if int(s) >= len(sig.wanted)*32 {
+       if s >= uint32(len(sig.wanted)*32) {
                return
        }
        sig.wanted[s/32] &^= 1 << (s & 31)
@@ -155,7 +155,7 @@ func signal_disable(s uint32) {
 
 // Must only be called from a single goroutine at a time.
 func signal_ignore(s uint32) {
-       if int(s) >= len(sig.wanted)*32 {
+       if s >= uint32(len(sig.wanted)*32) {
                return
        }
        sig.wanted[s/32] &^= 1 << (s & 31)