Fix handling EAGAIN in purple_ssl_read() purple-ssl-to-gio

Thu, 31 Mar 2016 20:18:02 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Thu, 31 Mar 2016 20:18:02 -0500
branch
purple-ssl-to-gio
changeset 37631
30cc3ef7c5d3
parent 37630
95771d0cf853
child 37632
4879ef4db7cf

Fix handling EAGAIN in purple_ssl_read()

This patch fixes EAGAIN being incorrectly detected when receiving
data on an SSL connection using purple_ssl_read().

libpurple/sslconn.c file | annotate | diff | comparison | revisions
--- a/libpurple/sslconn.c	Sun Jan 31 00:52:24 2016 -0600
+++ b/libpurple/sslconn.c	Thu Mar 31 20:18:02 2016 -0500
@@ -322,7 +322,8 @@
 			gsc->cancellable, &error);
 
 	if (outlen < 0) {
-		if (outlen == G_IO_ERROR_WOULD_BLOCK) {
+		if (g_error_matches(error, G_IO_ERROR,
+				G_IO_ERROR_WOULD_BLOCK)) {
 			errno = EAGAIN;
 		}
 

mercurial