From 32d0a77de116535cd70a0958f21208e073bef738 Mon Sep 17 00:00:00 2001 From: Michael Tuexen Date: Sun, 24 Jan 2016 22:31:34 +0000 Subject: [PATCH] sctp_sendx() needs to provide the assoc_id back. MFC after: 3 days --- lib/libc/net/sctp_sys_calls.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/libc/net/sctp_sys_calls.c b/lib/libc/net/sctp_sys_calls.c index 30f7fccb9c8..dcbcee77576 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