Module: xenomai-3
Branch: stable-3.0.x
Commit: b4153ea423873ba9acf120b9ce088bacbc20ec48
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b4153ea423873ba9acf120b9ce088bacbc20ec48

Author: Philippe Gerum <[email protected]>
Date:   Fri Jan 26 10:46:02 2018 +0100

cobalt/rtdm: honor O_NONBLOCK on recvmsg(), sendmsg()

---

 kernel/cobalt/rtdm/fd.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/kernel/cobalt/rtdm/fd.c b/kernel/cobalt/rtdm/fd.c
index b4d3920..b97e917 100644
--- a/kernel/cobalt/rtdm/fd.c
+++ b/kernel/cobalt/rtdm/fd.c
@@ -563,6 +563,9 @@ ssize_t rtdm_fd_recvmsg(int ufd, struct user_msghdr *msg, 
int flags)
 
        trace_cobalt_fd_recvmsg(current, fd, ufd, flags);
 
+       if (fd->oflags & O_NONBLOCK)
+               flags |= MSG_DONTWAIT;
+
        if (ipipe_root_p)
                ret = fd->ops->recvmsg_nrt(fd, msg, flags);
        else
@@ -595,6 +598,9 @@ ssize_t rtdm_fd_sendmsg(int ufd, const struct user_msghdr 
*msg, int flags)
 
        trace_cobalt_fd_sendmsg(current, fd, ufd, flags);
 
+       if (fd->oflags & O_NONBLOCK)
+               flags |= MSG_DONTWAIT;
+
        if (ipipe_root_p)
                ret = fd->ops->sendmsg_nrt(fd, msg, flags);
        else


_______________________________________________
Xenomai-git mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai-git

Reply via email to