From a6904b4deb0a3cad77cd7505e30edc529da6ef0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Tue, 21 Aug 2012 15:12:41 +0200 Subject: [PATCH] Noux: add F_SETFL to libc_noux's fcntl() Among other things it is used to set non-blocking mode, so we should support it (e.g. fcntl(d, F_SETFL, fl | O_NONBLOCK)). --- ports/src/lib/libc_noux/plugin.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ports/src/lib/libc_noux/plugin.cc b/ports/src/lib/libc_noux/plugin.cc index 8caad5b2f2..d5ecfbbd66 100644 --- a/ports/src/lib/libc_noux/plugin.cc +++ b/ports/src/lib/libc_noux/plugin.cc @@ -1034,6 +1034,12 @@ namespace { sysio()->fcntl_in.cmd = Noux::Sysio::FCNTL_CMD_GET_FILE_STATUS_FLAGS; break; + case F_SETFL: + PINF("fcntl: F_SETFL for libc_fd=%d", fd->libc_fd); + sysio()->fcntl_in.cmd = Noux::Sysio::FCNTL_CMD_SET_FILE_STATUS_FLAGS; + sysio()->fcntl_in.long_arg = arg; + break; + default: PERR("fcntl: unsupported command %d", cmd); errno = EINVAL;