1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-04-15 11:56:56 +02:00
Carlos Alexandro Becker 58d71a1c95
refactor: add a semaphore lib
Simple lib for better semaphore semanthics.
2018-06-25 17:00:00 -03:00

21 lines
439 B
Go

// Package semaphore provides a small and simple semaphore lib for goreleaser.
package semaphore
// Semaphore is the semaphore itself
type Semaphore chan bool
// New returns a new semaphore of a given size.
func New(size int) Semaphore {
return make(Semaphore, size)
}
// Acquire acquires one semaphore permit.
func (s Semaphore) Acquire() {
s <- true
}
// Release releases one semaphore permit
func (s Semaphore) Release() {
<-s
}