refactored service loop

This commit is contained in:
Juan Leni
2019-04-03 19:03:40 +02:00
parent 0dde303778
commit c501305744
+19 -16
View File
@@ -264,27 +264,30 @@ func (sl *SignerListenerEndpoint) serviceLoop() {
select {
case <-sl.connectCh:
{
for {
sl.Logger.Info("Listening for new connection")
conn, err := sl.acceptNewConnection()
if err == nil {
sl.Logger.Info("Connected")
sl.Logger.Info("Listening for new connection")
conn, err := sl.acceptNewConnection()
if err == nil {
sl.Logger.Info("Connected")
select {
case sl.connectedCh <- conn:
{
sl.Logger.Debug("SignerListenerEndpoint: connection relayed")
}
case <-sl.stopCh:
{
sl.Logger.Debug("SignerListenerEndpoint: stopping")
return
}
// We have a good connection, wait for someone that needs one or cancellation
select {
case sl.connectedCh <- conn:
{
sl.Logger.Debug("SignerListenerEndpoint: connection relayed")
}
case <-sl.stopCh:
{
sl.Logger.Debug("SignerListenerEndpoint::serviceLoop Stop")
return
}
}
}
}
select {
case sl.connectCh <- struct{}{}:
default:
}
}
case <-sl.stopCh:
{
sl.Logger.Debug("SignerListenerEndpoint::serviceLoop Stop")