Allow unregistering connect callback in AsyncSocket
Summary:
Sometimes when the socket is destroyed from a destructor, we wouldn't
want further callbacks on shutdown. We can unregister the readCallback_
by calling setReadCB(nullptr), but if the state is CONNECTING, we can
still get connectErr() callback. I found an ASAN trace (https://phabricator.fb.com/P18837265)
that turned out to be because of this inability to cancel this callback.
This provides a way to unregister the connect callback as well.
Test Plan: fbconfig -r folly && fbmake runtests
Reviewed By: afrind@fb.com
Subscribers: folly-diffs@
FB internal diff:
D1751778
Tasks:
5852935
Signature: t1:
1751778:
1419363638:
26967c2d4fc5819e4d65ae706d217a954dfd784f