SSH: init and cleanup libssh2 in global_init/cleanup

The necessary libssh2 functions require libssh2 1.2.5 or later.
This commit is contained in:
Daniel Stenberg 2010-04-26 00:36:25 +02:00
parent 79dc74e84d
commit 107146676e
2 changed files with 16 additions and 0 deletions

View File

@ -6,6 +6,11 @@
Changelog Changelog
Daniel Stenberg (26 Apr 2010)
- Make use of the libssh2_init/exit functions that libssh2 added in version
1.2.5. Using them will improve how libcurl works in threaded situations when
SCP and SFTP are transfered.
Daniel Stenberg (25 Apr 2010) Daniel Stenberg (25 Apr 2010)
- Based on work by Kamil Dudka, I've introduced the new configure option - Based on work by Kamil Dudka, I've introduced the new configure option
--enable-threaded-resolver. When used, the configure script will check for --enable-threaded-resolver. When used, the configure script will check for

View File

@ -287,6 +287,13 @@ CURLcode curl_global_init(long flags)
} }
#endif #endif
#if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_INIT)
if(libssh2_init(0)) {
DEBUGF(fprintf(stderr, "Error: libssh2_init failed\n"));
return CURLE_FAILED_INIT;
}
#endif
init_flags = flags; init_flags = flags;
/* Preset pseudo-random number sequence. */ /* Preset pseudo-random number sequence. */
@ -355,6 +362,10 @@ void curl_global_cleanup(void)
amiga_cleanup(); amiga_cleanup();
#endif #endif
#if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_EXIT)
(void)libssh2_exit();
#endif
init_flags = 0; init_flags = 0;
} }