|
@@ -7,12 +7,8 @@ package semaphore // import "golang.org/x/sync/semaphore"
|
|
|
|
|
|
import (
|
|
|
"container/list"
|
|
|
+ "context"
|
|
|
"sync"
|
|
|
-
|
|
|
- // Use the old context because packages that depend on this one
|
|
|
- // (e.g. cloud.google.com/go/...) must run on Go 1.6.
|
|
|
- // TODO(jba): update to "context" when possible.
|
|
|
- "golang.org/x/net/context"
|
|
|
)
|
|
|
|
|
|
type waiter struct {
|
|
@@ -36,9 +32,9 @@ type Weighted struct {
|
|
|
waiters list.List
|
|
|
}
|
|
|
|
|
|
-// Acquire acquires the semaphore with a weight of n, blocking only until ctx
|
|
|
-// is done. On success, returns nil. On failure, returns ctx.Err() and leaves
|
|
|
-// the semaphore unchanged.
|
|
|
+// Acquire acquires the semaphore with a weight of n, blocking until resources
|
|
|
+// are available or ctx is done. On success, returns nil. On failure, returns
|
|
|
+// ctx.Err() and leaves the semaphore unchanged.
|
|
|
//
|
|
|
// If ctx is already done, Acquire may still succeed without blocking.
|
|
|
func (s *Weighted) Acquire(ctx context.Context, n int64) error {
|