maybe this is slightly preferable?

```
tries := 0
var sleep time.Duration
for {
        case <-stop:
                return
        case <-time.After(sleep)
                err := lck.Unlock()
                if err == lock.ErrNotExist {
                        return
                } else if err == nil {
                        fmt.Println("Unlocked existing lock for this machine")
                        return
                }       
                sleep = expBackoff(tries)
                fmt.Println("Retrying in %v. Error unlocking: %v", sleep, err)
                tries = tries + 1
}

```