vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Fri Dec 18 23:03:45 2015 +0200| [8fa6f55c1afe83f3c0cbd2d2b4c46aedef153a10] | committer: Rémi Denis-Courmont
tls: add vlc_tls_Close() helper In most cases... actually in all cases that I know of, the TCP connection underneath the TLS session is closed at the same time. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8fa6f55c1afe83f3c0cbd2d2b4c46aedef153a10 --- include/vlc_tls.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/vlc_tls.h b/include/vlc_tls.h index af9bc0c..67b27cc 100644 --- a/include/vlc_tls.h +++ b/include/vlc_tls.h @@ -91,6 +91,20 @@ VLC_API int vlc_tls_Write(vlc_tls_t *, const void *buf, size_t len); # define tls_Recv(a,b,c) vlc_tls_Read(a,b,c,false) # define tls_Send(a,b,c) vlc_tls_Write(a,b,c) +/** + * Closes a TLS session and underlying connection. + * + * This function is non-blocking and is a cancellation point. + */ +static inline void vlc_tls_Close(vlc_tls_t *session) +{ + int fd = session->fd; + + vlc_tls_SessionDelete(session); + shutdown(fd, SHUT_RDWR); + net_Close(fd); +} + /** TLS credentials (certificate, private and trust settings) */ struct vlc_tls_creds { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
