diff --git a/CHANGELOG.md b/CHANGELOG.md
index 77e1b9113a7673..2d7dd9e55c3fec 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,7 +26,8 @@ release.
-6.17.0
+6.17.1
+6.17.0
6.16.0
6.15.1
6.15.0
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 5a935352a1f9f0..4c211405596cb4 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,8 +1,4 @@
# Code of Conduct
-The Node.js Code of Conduct document has moved to
-https://github.com/nodejs/admin/blob/master/CODE_OF_CONDUCT.md. Please update
-links to this document accordingly.
-
-The Node.js Moderation policy can be found at
-https://github.com/nodejs/admin/blob/master/Moderation-Policy.md
+* [Node.js Code of Conduct](https://github.com/nodejs/admin/blob/master/CODE_OF_CONDUCT.md)
+* [Node.js Moderation Policy](https://github.com/nodejs/admin/blob/master/Moderation-Policy.md)
diff --git a/Makefile b/Makefile
index 523a3d8c541ed8..eedbf758e72167 100644
--- a/Makefile
+++ b/Makefile
@@ -574,8 +574,7 @@ PKG=$(TARNAME).pkg
MACOSOUTDIR=out/macos
release-only:
- @if [ "$(DISTTYPE)" != "nightly" ] && [ "$(DISTTYPE)" != "next-nightly" ] && \
- `grep -q REPLACEME doc/api/*.md`; then \
+ @if [ "$(DISTTYPE)" = "release" ] && `grep -q REPLACEME doc/api/*.md`; then \
echo 'Please update REPLACEME in Added: tags in doc/api/*.md (See doc/releases.md)' ; \
exit 1 ; \
fi
diff --git a/common.gypi b/common.gypi
index a0c00fee528fe5..9dcaa050b08dbe 100644
--- a/common.gypi
+++ b/common.gypi
@@ -84,6 +84,19 @@
['OS=="aix"', {
'cflags': [ '-gxcoff' ],
'ldflags': [ '-Wl,-bbigtoc' ],
+ 'conditions': [
+ ['target_arch=="ppc64"', {
+ 'ldflags': [
+ '-Wl,-blibpath:/usr/lib:/lib:'
+ '/opt/freeware/lib/pthread/ppc64'
+ ],
+ }],
+ ['target_arch=="ppc"', {
+ 'ldflags': [
+ '-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread'
+ ],
+ }],
+ ],
}],
['OS == "android"', {
'cflags': [ '-fPIE' ],
@@ -332,11 +345,18 @@
[ 'OS=="aix"', {
'conditions': [
[ 'target_arch=="ppc"', {
- 'ldflags': [ '-Wl,-bmaxdata:0x60000000/dsa' ],
+ 'ldflags': [
+ '-Wl,-bmaxdata:0x60000000/dsa',
+ '-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread',
+ ],
}],
[ 'target_arch=="ppc64"', {
'cflags': [ '-maix64' ],
- 'ldflags': [ '-maix64' ],
+ 'ldflags': [
+ '-maix64',
+ '-Wl,-blibpath:/usr/lib:/lib:'
+ '/opt/freeware/lib/pthread/ppc64',
+ ],
}],
],
'ldflags': [ '-Wl,-bbigtoc' ],
diff --git a/doc/api/dgram.md b/doc/api/dgram.md
index 93a1d186e7c620..6553c4a0323ced 100644
--- a/doc/api/dgram.md
+++ b/doc/api/dgram.md
@@ -95,6 +95,24 @@ Tells the kernel to join a multicast group at the given `multicastAddress` and
one interface and will add membership to it. To add membership to every
available interface, call `addMembership` multiple times, once per interface.
+When sharing a UDP socket across multiple `cluster` workers, the
+`socket.addMembership()` function must be called only once or an
+`EADDRINUSE` error will occur:
+
+```js
+const cluster = require('cluster');
+const dgram = require('dgram');
+if (cluster.isMaster) {
+ cluster.fork(); // Works ok.
+ cluster.fork(); // Fails with EADDRINUSE.
+} else {
+ const s = dgram.createSocket('udp4');
+ s.bind(1234, () => {
+ s.addMembership('224.0.0.114');
+ });
+}
+```
+
### socket.address()
|