lib: Make initial one-shot start pattern more elegant
This should do the same thing, in a more elegant and efficient way.
This commit is contained in:
@@ -351,7 +351,7 @@ func (obj *Main) Run() error {
|
|||||||
exitchan := make(chan struct{}) // exit on close
|
exitchan := make(chan struct{}) // exit on close
|
||||||
go func() {
|
go func() {
|
||||||
startChan := make(chan struct{}) // start signal
|
startChan := make(chan struct{}) // start signal
|
||||||
go func() { startChan <- struct{}{} }()
|
close(startChan) // kick it off!
|
||||||
|
|
||||||
log.Println("Etcd: Starting...")
|
log.Println("Etcd: Starting...")
|
||||||
etcdChan := etcd.EtcdWatch(EmbdEtcd)
|
etcdChan := etcd.EtcdWatch(EmbdEtcd)
|
||||||
@@ -360,6 +360,7 @@ func (obj *Main) Run() error {
|
|||||||
log.Println("Main: Waiting...")
|
log.Println("Main: Waiting...")
|
||||||
select {
|
select {
|
||||||
case <-startChan: // kick the loop once at start
|
case <-startChan: // kick the loop once at start
|
||||||
|
startChan = nil // disable
|
||||||
// pass
|
// pass
|
||||||
|
|
||||||
case b := <-etcdChan:
|
case b := <-etcdChan:
|
||||||
|
|||||||
Reference in New Issue
Block a user