Copyright 2012 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

package sync

import 
defined in package runtime
Semacquire waits until *s > 0 and then atomically decrements it. It is intended as a simple sleep primitive for use by the synchronization library and should not be used directly.
SemacquireMutex is like Semacquire, but for profiling contended Mutexes. If lifo is true, queue waiter at the head of wait queue. skipframes is the number of frames to omit during tracing, counting from runtime_SemacquireMutex's caller.
func ( *uint32,  bool,  int)
Semrelease atomically increments *s and notifies a waiting goroutine if one is blocked in Semacquire. It is intended as a simple wakeup primitive for use by the synchronization library and should not be used directly. If handoff is true, pass count directly to the first waiter. skipframes is the number of frames to omit during tracing, counting from runtime_Semrelease's caller.
func ( *uint32,  bool,  int)
See runtime/sema.go for documentation.
See runtime/sema.go for documentation.
See runtime/sema.go for documentation.
See runtime/sema.go for documentation.
Ensure that sync and runtime agree on size of notifyList.
Active spinning runtime support. runtime_canSpin reports whether spinning makes sense at the moment.
runtime_doSpin does active spinning.