mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[chore] update dependencies, bump to Go 1.19.1 (#826)
* update dependencies, bump Go version to 1.19 * bump test image Go version * update golangci-lint * update gotosocial-drone-build * sign * linting, go fmt * update swagger docs * update swagger docs * whitespace * update contributing.md * fuckin whoopsie doopsie * linterino, linteroni * fix followrequest test not starting processor * fix other api/client tests not starting processor * fix remaining tests where processor not started * bump go-runners version * don't check last-webfingered-at, processor may have updated this * update swagger command * update bun to latest version * fix embed to work the same as before with new bun Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
This commit is contained in:
29
vendor/codeberg.org/gruf/go-runners/service.go
generated
vendored
29
vendor/codeberg.org/gruf/go-runners/service.go
generated
vendored
@@ -15,7 +15,7 @@ type Service struct {
|
||||
mu sync.Mutex // mu protects state changes
|
||||
}
|
||||
|
||||
// Run will run the supplied function until completion, use given context to propagate cancel.
|
||||
// Run will run the supplied function until completion, using given context to propagate cancel.
|
||||
// Immediately returns false if the Service is already running, and true after completed run.
|
||||
func (svc *Service) Run(fn func(context.Context)) bool {
|
||||
// Attempt to start the svc
|
||||
@@ -39,6 +39,33 @@ func (svc *Service) Run(fn func(context.Context)) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
// GoRun will run the supplied function until completion in a goroutine, using given context to
|
||||
// propagate cancel. Immediately returns boolean indicating success, or that service is already running.
|
||||
func (svc *Service) GoRun(fn func(context.Context)) bool {
|
||||
// Attempt to start the svc
|
||||
ctx, ok := svc.doStart()
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
|
||||
go func() {
|
||||
defer func() {
|
||||
// unlock single wait
|
||||
svc.wait.Unlock()
|
||||
|
||||
// ensure stopped
|
||||
svc.Stop()
|
||||
}()
|
||||
|
||||
// Run user func
|
||||
if fn != nil {
|
||||
fn(ctx)
|
||||
}
|
||||
}()
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// Stop will attempt to stop the service, cancelling the running function's context. Immediately
|
||||
// returns false if not running, and true only after Service is fully stopped.
|
||||
func (svc *Service) Stop() bool {
|
||||
|
Reference in New Issue
Block a user