In this case ```restart()``` doesn't do harm e.g. prolong timeout to be triggered. Regardless of previous, I'd change this like

```
if (suspendIntention) {
    start()
}
```
If already running, start won't do anything.  After that change it is matter taste, if you'd like to remove this signal handler all together and do it at line 105 like...
```
delayedSuspend.suspendIntention = true
delayedSuspend.start()
```