- * FIXME. This will have to be done better when we
- * start managing multiple sockets (e.g. SSH port
- * forwarding), because if we get CONNRESET while
- * trying to write a particular forwarded socket
- * then it isn't necessarily the end of the world.
- * Ideally I'd like to pass the error code back to
- * somewhere the next select_result() will see it,
- * but that might be hard. Perhaps I should pass it
- * back to be queued in the Windows front end bit.
+ * ASSUMPTION:
+ *
+ * I'm assuming here that if a TCP connection is
+ * reset or aborted once established, we will be
+ * notified by a select event rather than a
+ * CONNABORTED or CONNRESET from send(). In other
+ * words, I'm assuming CONNABORTED and CONNRESET
+ * don't come back from a _nonblocking_ send(),
+ * because the local side doesn't know they've
+ * happened until it waits for a response to its
+ * TCP segment - so the error will arrive
+ * asynchronously.
+ *
+ * If I'm wrong, this will be a really nasty case,
+ * because we can't necessarily call plug_closing()
+ * without having to make half the SSH code
+ * reentrant; so instead we'll have to schedule a
+ * call to plug_closing() for some suitable future
+ * time.