| Index: remoting/protocol/session.h
|
| diff --git a/remoting/protocol/session.h b/remoting/protocol/session.h
|
| index 27558d7b8da2d5e5496dcc42fd35efbc9d00df8d..77d4656d9b9f8e9a7d996fe598d7f82e2207dea4 100644
|
| --- a/remoting/protocol/session.h
|
| +++ b/remoting/protocol/session.h
|
| @@ -25,6 +25,11 @@ namespace protocol {
|
| // Generic interface for Chromotocol connection used by both client and host.
|
| // Provides access to the connection channels, but doesn't depend on the
|
| // protocol used for each channel.
|
| +//
|
| +// Because libjingle's sigslot class doesn't handle deletion properly
|
| +// while it is being invoked all Session instances must be deleted
|
| +// with a clean stack, i.e. not from event handlers, when sigslot may
|
| +// be present in the stack.
|
| class Session : public base::NonThreadSafe {
|
| public:
|
| enum State {
|
| @@ -120,8 +125,7 @@ class Session : public base::NonThreadSafe {
|
| virtual const std::string& shared_secret() = 0;
|
|
|
| // Closes connection. Callbacks are guaranteed not to be called
|
| - // after this method returns. Must be called before the object is
|
| - // destroyed, unless the state is set to FAILED or CLOSED.
|
| + // after this method is called.
|
| virtual void Close() = 0;
|
|
|
| private:
|
|
|