praekelt/vumi — pull request #721 by smn (2014-02-10 08:23:28+00:00)
Title: SMPP transport is missing a yield when asking for the protocol while disconnecting.

```
2014-02-10 08:12:05+0000 [-] Unhandled Error
Traceback (most recent call last):
File "/mnt/praekelt/vumi-go/ve/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 295, in addCallbacks
self._runCallbacks()
File "/mnt/praekelt/vumi-go/ve/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 577, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/mnt/praekelt/vumi-go/ve/src/vumi/vumi/transports/base.py", line 74, in
d.addCallback(lambda r: self.teardown_transport())
File "/mnt/praekelt/vumi-go/ve/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1237, in unwindGenerator
return _inlineCallbacks(None, gen, Deferred())
--- ---
File "/mnt/praekelt/vumi-go/ve/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1099, in _inlineCallbacks
result = g.send(result)
File "/mnt/praekelt/vumi-go/ve/src/vumi/vumi/transports/smpp/smpp_transport.py", line 161, in teardown_transport
yield self.service.stopService()
File "/mnt/praekelt/vumi-go/ve/src/vumi/vumi/transports/smpp/smpp_transport.py", line 113, in stopService
d = protocol.disconnect()
exceptions.AttributeError: Deferred instance has no attribute 'disconnect'
```