github.com/chenbh/concourse/v6@v6.4.2/worker/workercmd/garden_server_runner.go (about)

     1  package workercmd
     2  
     3  import (
     4  	"os"
     5  
     6  	"code.cloudfoundry.org/garden/server"
     7  	"code.cloudfoundry.org/lager"
     8  )
     9  
    10  type gardenServerRunner struct {
    11  	logger       lager.Logger
    12  	gardenServer *server.GardenServer
    13  }
    14  
    15  func (runner gardenServerRunner) Run(signals <-chan os.Signal, ready chan<- struct{}) error {
    16  	err := runner.gardenServer.Start()
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	close(ready)
    22  
    23  	runner.logger.Info("started")
    24  
    25  	<-signals
    26  	runner.gardenServer.Stop()
    27  	return nil
    28  }