summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2016-01-27 14:01:21 +0000
committertuexen <tuexen@FreeBSD.org>2016-01-27 14:01:21 +0000
commitc72a1e1c6f205eed02a8bbd2d15dd3b3101116b8 (patch)
treeaf55c38171ad527f76f3e8208383210754a74832 /lib
parentb331d27b38265377df15981913cd40aa1a86290d (diff)
downloadFreeBSD-src-c72a1e1c6f205eed02a8bbd2d15dd3b3101116b8.zip
FreeBSD-src-c72a1e1c6f205eed02a8bbd2d15dd3b3101116b8.tar.gz
MFC r294694:
sctp_sendx() needs to provide the assoc_id back.
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/net/sctp_sys_calls.c9
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
OpenPOWER on IntegriCloud