In order to `err` be reflected correctly in the deferred method on line 273 the return value from `c.Serve()` should be assigned:

```
err = c.Serve()
```

Unless I overseen something here.