From ac6a918e9f6ce0bd6a89d055d46a93d0bf4813eb Mon Sep 17 00:00:00 2001
From: Jiri Hruska <jirka@fud.cz>
Date: Mon, 9 Sep 2013 01:13:59 +0200
Subject: [PATCH 3/4] pop3: Speed up SSL connection initialization

Don't wait for the next callback call (usually 1 sec) before
continuing with POP3 specific connection initialization.
---
 lib/pop3.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/pop3.c b/lib/pop3.c
index 5b49b1a..f33b189 100644
--- a/lib/pop3.c
+++ b/lib/pop3.c
@@ -1368,11 +1368,13 @@ static CURLcode pop3_multi_statemach(struct connectdata *conn, bool *done)
   CURLcode result = CURLE_OK;
   struct pop3_conn *pop3c = &conn->proto.pop3c;
 
-  if((conn->handler->flags & PROTOPT_SSL) && !pop3c->ssldone)
+  if((conn->handler->flags & PROTOPT_SSL) && !pop3c->ssldone) {
     result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, &pop3c->ssldone);
-  else
-    result = Curl_pp_statemach(&pop3c->pp, FALSE);
+    if(result || !pop3c->ssldone)
+      return result;
+  }
 
+  result = Curl_pp_statemach(&pop3c->pp, FALSE);
   *done = (pop3c->state == POP3_STOP) ? TRUE : FALSE;
 
   return result;
-- 
1.7.9.msysgit.0

