aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorMarcus Arendt <[email protected]>2015-01-14 10:40:27 +0100
committerMarcus Arendt <[email protected]>2015-01-14 10:40:27 +0100
commit06b359e3c126804045b9b14852d14b46c2e1fee9 (patch)
tree7f9eff2467de5e4d21dfde9ef143688c162a1120 /erts
parent0c35538676e6598243721ef0488c2043b62715f2 (diff)
parent6d49fd3d4d66237924912cc6e6ab3d2512fce728 (diff)
downloadotp-06b359e3c126804045b9b14852d14b46c2e1fee9.tar.gz
otp-06b359e3c126804045b9b14852d14b46c2e1fee9.tar.bz2
otp-06b359e3c126804045b9b14852d14b46c2e1fee9.zip
Merge branch 'dotsimon/sctp_paddrinfo_state' into maint
* dotsimon/sctp_paddrinfo_state: Fix inet:getopts involving #sctp_paddrinfo{}
Diffstat (limited to 'erts')
-rw-r--r--erts/configure.in2
-rw-r--r--erts/emulator/drivers/common/inet_drv.c15
2 files changed, 14 insertions, 3 deletions
diff --git a/erts/configure.in b/erts/configure.in
index 1676d3d216..b3fe48d62c 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -1784,7 +1784,7 @@ if test x"$ac_cv_header_netinet_sctp_h" = x"yes"; then
AC_CHECK_DECLS([SCTP_UNORDERED, SCTP_ADDR_OVER, SCTP_ABORT,
SCTP_EOF, SCTP_SENDALL, SCTP_ADDR_CONFIRMED,
SCTP_DELAYED_ACK_TIME,
- SCTP_EMPTY,
+ SCTP_EMPTY, SCTP_UNCONFIRMED,
SCTP_CLOSED, SCTPS_IDLE,
SCTP_BOUND, SCTPS_BOUND,
SCTP_LISTEN, SCTPS_LISTEN,
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index db8a251fdd..3fe5dac813 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -2890,6 +2890,9 @@ static ErlDrvTermData am_sctp_rtoinfo, /* Option names */
/* For #sctp_paddrinfo{}: */
am_active, am_inactive,
+# if HAVE_DECL_SCTP_UNCONFIRMED
+ am_unconfirmed,
+# endif
/* For #sctp_status{}: */
# if HAVE_DECL_SCTP_EMPTY
@@ -3919,7 +3922,10 @@ static void inet_init_sctp(void) {
/* For #sctp_paddrinfo{}: */
INIT_ATOM(active);
INIT_ATOM(inactive);
-
+# if HAVE_DECL_SCTP_UNCONFIRMED
+ INIT_ATOM(unconfirmed);
+# endif
+
/* For #sctp_status{}: */
# if HAVE_DECL_SCTP_EMPTY
INIT_ATOM(empty);
@@ -7338,8 +7344,13 @@ static int load_paddrinfo (ErlDrvTermData * spec, int i,
case SCTP_INACTIVE:
i = LOAD_ATOM (spec, i, am_inactive);
break;
+# if HAVE_DECL_SCTP_UNCONFIRMED
+ case SCTP_UNCONFIRMED:
+ i = LOAD_ATOM (spec, i, am_unconfirmed);
+ break;
+# endif
default:
- ASSERT(0); /* NB: SCTP_UNCONFIRMED modifier not yet supported */
+ i = LOAD_ATOM (spec, i, am_undefined);
}
i = LOAD_INT (spec, i, pai->spinfo_cwnd);
i = LOAD_INT (spec, i, pai->spinfo_srtt);