Fix unix_fcntl_nonblock() to not overwrite any existing flags.

This commit is contained in:
sehraf 2020-05-04 15:13:39 +02:00
parent d833049dce
commit 757e922c4f
No known key found for this signature in database
GPG Key ID: DF09F6EAE356B2C6

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;