diff options
author | Raimo Niskanen <[email protected]> | 2011-09-19 12:10:46 +0200 |
---|---|---|
committer | Raimo Niskanen <[email protected]> | 2011-09-19 12:18:45 +0200 |
commit | 0159f7a9598c1d88b2e184dcc442c254ef8f14c9 (patch) | |
tree | 8f0a6bed21549b74b0a48e556fd1606b71cbefbf /erts | |
parent | ff371b3b33e435f63962615be06404f6f8af3d5e (diff) | |
download | otp-0159f7a9598c1d88b2e184dcc442c254ef8f14c9.tar.gz otp-0159f7a9598c1d88b2e184dcc442c254ef8f14c9.tar.bz2 otp-0159f7a9598c1d88b2e184dcc442c254ef8f14c9.zip |
erts,kernel: Bugfix - read SCTP socket options from right protocol layer
Socket options 'sndbuf', 'recbuf' and 'linger were read from
the SCTP protocol layer instead of from the socket protocol layer.
Conflicts:
lib/kernel/test/gen_sctp_SUITE.erl
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/drivers/common/inet_drv.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index 3c4be8eea4..2bff5bd4f7 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -5941,7 +5941,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen, struct linger lg; unsigned int sz = sizeof(lg); - if (sock_getopt(desc->s, IPPROTO_SCTP, SO_LINGER, + if (sock_getopt(desc->s, SOL_SOCKET, SO_LINGER, &lg, &sz) < 0) continue; /* Fill in the response: */ PLACE_FOR(spec, i, @@ -5977,7 +5977,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen, { case INET_OPT_RCVBUF : { - proto = IPPROTO_SCTP; + proto = SOL_SOCKET; type = SO_RCVBUF; is_int = 1; tag = am_recbuf; @@ -5985,7 +5985,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen, } case INET_OPT_SNDBUF : { - proto = IPPROTO_SCTP; + proto = SOL_SOCKET; type = SO_SNDBUF; is_int = 1; tag = am_sndbuf; |