summaryrefslogtreecommitdiff
path: root/src/gnutls.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-08-03 07:45:47 -0400
committerPaul Eggert <eggert@cs.ucla.edu>2016-08-03 07:46:30 -0400
commit744cc9fa17d20450fc3cf1ca6bb71869abeeb77b (patch)
treed16027c534195b14d34e3f812af4e2f28b6da5e8 /src/gnutls.c
parent1a8d31123698ccf6f165e49fcfe16631d07a7aea (diff)
downloademacs-744cc9fa17d20450fc3cf1ca6bb71869abeeb77b.tar.gz
Port to systems lacking GNUTLS_NONBLOCK
Problem reported by Colin Baxter in: http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00096.html * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
Diffstat (limited to 'src/gnutls.c')
-rw-r--r--src/gnutls.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gnutls.c b/src/gnutls.c
index e3e9311c48d..bc35dfb4116 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -1602,8 +1602,12 @@ one trustfile (usually a CA bundle). */)
/* Call gnutls_init here: */
GNUTLS_LOG (1, max_log_level, "gnutls_init");
- int nonblock = XPROCESS (proc)->is_non_blocking_client ? GNUTLS_NONBLOCK : 0;
- ret = gnutls_init (&state, GNUTLS_CLIENT | nonblock);
+ int gnutls_flags = GNUTLS_CLIENT;
+#ifdef GNUTLS_NONBLOCK
+ if (XPROCESS (proc)->is_non_blocking_client)
+ gnutls_flags |= GNUTLS_NONBLOCK;
+#endif
+ ret = gnutls_init (&state, gnutls_flags);
XPROCESS (proc)->gnutls_state = state;
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);