]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
While connect and transfer works fine in non-blocking mode for the test
authorJames Housley <jim@thehousleys.net>
Tue, 12 Jun 2007 16:15:20 +0000 (16:15 +0000)
committerJames Housley <jim@thehousleys.net>
Tue, 12 Jun 2007 16:15:20 +0000 (16:15 +0000)
suite, transfer fails in the real world.  So after connect set to blocking
as full non-blocking is migrated out.

lib/ssh.c

index 28fe1ffe7d0b09b18a34b8ac0a43df9e5806dcac..8b58abf3eb30de61ee8ffac655d8ebf6deec597f 100644 (file)
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -302,6 +302,9 @@ static CURLcode ssh_statemach_act(struct connectdata *conn)
         break;
       }
         
+      /* Set libssh2 to non-blocking, since cURL is all non-blocking */
+      libssh2_session_set_blocking(ssh->ssh_session, 0);
+  
 #ifdef CURL_LIBSSH2_DEBUG
       /*
        * Before we authenticate we should check the hostkey's fingerprint
@@ -654,6 +657,16 @@ static CURLcode ssh_statemach_act(struct connectdata *conn)
         Curl_safefree(working_path);
         ssh->path = real_path;
         
+        /*
+         *****************************************
+         *****************************************
+         **               TEMPORARY             **
+         *****************************************
+         *****************************************
+         */
+        /* Set libssh2 to non-blocking, since cURL is all non-blocking */
+        libssh2_session_set_blocking(ssh->ssh_session, 1);
+
         /* Connect is all done */
         state(conn, SSH_STOP);
       }
@@ -832,9 +845,6 @@ CURLcode Curl_ssh_connect(struct connectdata *conn, bool *done)
 #endif /* CURL_LIBSSH2_DEBUG */
 
 #if (LIBSSH2_APINO >= 200706012030)
-  /* Set libssh2 to non-blocking, since cURL is all non-blocking */
-  libssh2_session_set_blocking(ssh->ssh_session, 0);
-  
   state(conn, SSH_S_STARTUP);
   
   if (data->state.used_interface == Curl_if_multi)