It is used to close TCP connection and unregister
    the Spin instance from untwisted reactor.

    Diagram:

    lose -> (int:err | socket.error:err) -> CLOSE_ERR

def lose(spin):
    """
    It is used to close TCP connection and unregister
    the Spin instance from untwisted reactor.

    Diagram:

    lose -> (int:err | socket.error:err) -> CLOSE_ERR
    """

    try:
        spin.close()
    except Exception as excpt:
        err = excpt.args[0]
        spin.drive(CLOSE_ERR, err)
    finally:
        spin.destroy()
        spin.drive(LOST)