Merge 3.4 (asyncio)
diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py
index ca86264..074a8df 100644
--- a/Lib/asyncio/selector_events.py
+++ b/Lib/asyncio/selector_events.py
@@ -774,7 +774,8 @@
                                        "on matching the hostname",
                                        self, exc_info=True)
                     self._sock.close()
-                    if self._waiter is not None:
+                    if (self._waiter is not None
+                    and not self._waiter.cancelled()):
                         self._waiter.set_exception(exc)
                     return