/* SSL support via GnuTLS library.
- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
Foundation, Inc.
This file is part of GNU Wget.
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
+#include <fcntl.h>
#include "utils.h"
#include "connect.h"
if (bufsize > offset)
{
+ int flags;
+ flags = fcntl (fd, F_GETFL, 0);
+ if (flags < 0)
+ return ret;
+
+ ret = fcntl (fd, F_SETFL, flags | O_NONBLOCK);
+ if (ret < 0)
+ return ret;
+
do
{
ret = gnutls_record_recv (ctx->session, buf + offset,
ret);
ctx->peeklen += ret;
}
+
+ fcntl (fd, F_SETFL, flags);
+ if (ret < 0)
+ return ret;
}
return offset + ret;