[Xenomai-git] Philippe Gerum : lib/cobalt: recvfrom: update *addrlen when requested
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: 398ea8fdf41e194d727a15170b3f02449e236453 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=398ea8fdf41e194d727a15170b3f02449e236453 Author: Philippe Gerum Date: Tue Jan 23 16:35:54 2018 +0100 lib/cobalt: recvfrom: update *addrlen when requested --- lib/cobalt/rtdm.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/cobalt/rtdm.c b/lib/cobalt/rtdm.c index 1907090..9e88ca9 100644 --- a/lib/cobalt/rtdm.c +++ b/lib/cobalt/rtdm.c @@ -269,8 +269,15 @@ COBALT_IMPL(ssize_t, recvfrom, (int fd, void *buf, size_t len, int flags, int ret; ret = do_recvmsg(fd, &msg, flags); - if (ret != -EBADF && ret != -ENOSYS) - return set_errno(ret); + if (ret != -EBADF && ret != -ENOSYS) { + if (ret < 0) + return set_errno(ret); + + if (from) + *fromlen = msg.msg_namelen; + + return ret; + } return __STD(recvfrom(fd, buf, len, flags, from, fromlen)); } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : lib/cobalt: recvfrom: update *addrlen when requested
Module: xenomai-3 Branch: stable-3.0.x Commit: 398ea8fdf41e194d727a15170b3f02449e236453 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=398ea8fdf41e194d727a15170b3f02449e236453 Author: Philippe Gerum Date: Tue Jan 23 16:35:54 2018 +0100 lib/cobalt: recvfrom: update *addrlen when requested --- lib/cobalt/rtdm.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/cobalt/rtdm.c b/lib/cobalt/rtdm.c index 1907090..9e88ca9 100644 --- a/lib/cobalt/rtdm.c +++ b/lib/cobalt/rtdm.c @@ -269,8 +269,15 @@ COBALT_IMPL(ssize_t, recvfrom, (int fd, void *buf, size_t len, int flags, int ret; ret = do_recvmsg(fd, &msg, flags); - if (ret != -EBADF && ret != -ENOSYS) - return set_errno(ret); + if (ret != -EBADF && ret != -ENOSYS) { + if (ret < 0) + return set_errno(ret); + + if (from) + *fromlen = msg.msg_namelen; + + return ret; + } return __STD(recvfrom(fd, buf, len, flags, from, fromlen)); } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git