heroku/lockstep — pull request #3 by ferd (2014-06-18 14:41:43+00:00)
Title: Avoid crashing when sock_mod is undefined

Failures currently may occur if:

- sock_mod is never initialized in init, only in connections that have
been established successfilly
- it is called in plenty of places, usually caught or validated, except in
terminate/2.
- in terminate/2, there is no check to know whether 'sock_mod' is
defined or not.

The result is that a lockstep process that terminates without ever
managing to get a successful connection (say it crashed) will therefore
loudly fail for no good reason.

This patch makes the `terminate/2` function validate the presence of
`Mod` to know whether it's been set or not, and whether the socket
itself exists before calling `Mod:close/1` on it.