diff options
author | tuexen <tuexen@FreeBSD.org> | 2016-01-27 14:01:21 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2016-01-27 14:01:21 +0000 |
commit | c72a1e1c6f205eed02a8bbd2d15dd3b3101116b8 (patch) | |
tree | af55c38171ad527f76f3e8208383210754a74832 | |
parent | b331d27b38265377df15981913cd40aa1a86290d (diff) | |
download | FreeBSD-src-c72a1e1c6f205eed02a8bbd2d15dd3b3101116b8.zip FreeBSD-src-c72a1e1c6f205eed02a8bbd2d15dd3b3101116b8.tar.gz |
MFC r294694:
sctp_sendx() needs to provide the assoc_id back.
-rw-r--r-- | lib/libc/net/sctp_sys_calls.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/libc/net/sctp_sys_calls.c b/lib/libc/net/sctp_sys_calls.c index 30f7fcc..dcbcee7 100644 --- a/lib/libc/net/sctp_sys_calls.c +++ b/lib/libc/net/sctp_sys_calls.c @@ -700,14 +700,19 @@ sctp_sendx(int sd, const void *msg, size_t msg_len, #ifdef SYS_sctp_generic_sendmsg if (addrcnt == 1) { socklen_t l; + ssize_t ret; /* * Quick way, we don't need to do a connectx so lets use the * syscall directly. */ l = addrs->sa_len; - return (syscall(SYS_sctp_generic_sendmsg, sd, - msg, msg_len, addrs, l, sinfo, flags)); + ret = syscall(SYS_sctp_generic_sendmsg, sd, + msg, msg_len, addrs, l, sinfo, flags); + if ((ret >= 0) && (sinfo != NULL)) { + sinfo->sinfo_assoc_id = sctp_getassocid(sd, addrs); + } + return (ret); } #endif |