Merge pull request #1906 from sehraf/pr_fix_unix_fcntl_nonblock

Fix unix_fcntl_nonblock() to not overwrite any existing flags.
This commit is contained in:
G10h4ck 2020-06-07 12:36:18 +02:00 committed by GitHub
commit 680d9cde85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -413,9 +413,10 @@ int unix_fcntl_nonblock(int fd)
{ {
int ret; int ret;
/******************* WINDOWS SPECIFIC PART ******************/ /******************* OS SPECIFIC PART ******************/
#ifndef WINDOWS_SYS // ie UNIX #ifndef WINDOWS_SYS // ie UNIX
ret = fcntl(fd, F_SETFL, O_NONBLOCK); int flags = fcntl(fd, F_GETFL);
ret = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#ifdef NET_DEBUG #ifdef NET_DEBUG
std::cerr << "unix_fcntl_nonblock():" << ret << " errno:" << errno << std::endl; std::cerr << "unix_fcntl_nonblock():" << ret << " errno:" << errno << std::endl;