semaphore: better error message when releasing more than held

Change-Id: Ibe69007b2d7565a33d9e64ae51142478f495509a
Reviewed-on: https://go-review.googlesource.com/c/sync/+/173377
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/semaphore/semaphore.go b/semaphore/semaphore.go
index ac53e73..7f096fe 100644
--- a/semaphore/semaphore.go
+++ b/semaphore/semaphore.go
@@ -95,7 +95,7 @@
 	s.cur -= n
 	if s.cur < 0 {
 		s.mu.Unlock()
-		panic("semaphore: bad release")
+		panic("semaphore: released more than held")
 	}
 	for {
 		next := s.waiters.Front()