see this solution I did to work around the problem, and tell me what you think

```

var cluster = require("cluster");
var dgram = require("dgram");

var workers = {};
var port = 1190;

console.log("#" + process.pid + ", iniciar");
if (cluster.isMaster) {
    for (i = 0; i < 4; i++) {
        var worker = cluster.fork();
        var _pid = worker.process.pid;
        workers[_pid] = worker;
        workers[_pid].on("message", function(payload) {
            //console.log("#" + process.pid + ", payload: ", payload);
            if (payload && payload.action == "getRandomPort") {
                var udp = dgram.createSocket("udp4");
                udp.on("error", function(error) {
                    var address = udp.address();
                    if (payload.pid && workers[payload.pid]) {
                        workers[payload.pid].send({
                            "pid": process.pid,
                            "action": "setRandomPort",
                            "param": null,
                            "error": error
                        });
                    }
                });
                udp.on("listening", function() {
                    var address = udp.address();
                    if (payload.pid && workers[payload.pid]) {
                        workers[payload.pid].send({
                            "pid": process.pid,
                            "action": "setRandomPort",
                            "param": {
                                "port": address.port
                            },
                            "error": null
                        });
                    }
                });
                udp.bind(0);
            }
        });
    }
} else {
    process.on("message", function(payload) {
        //console.log("#" + process.pid + ", payload: ", payload);
        if (payload && payload.action == "setRandomPort") {
            if (payload.error) {
                console.log("#" + process.pid + ", payload: ", payload);
            } else {
                console.log("#" + process.pid + ", " + payload.action + ": " + payload.param.port);
            }
        }
    });
    process.send({
        "pid": process.pid,
        "action": "getRandomPort"
    });
}
```
Output:

``` 
#6659, iniciar
#6660, iniciar
#6660, setRandomPort: 58525
#6663, iniciar
#6663, setRandomPort: 64295
#6662, iniciar
#6662, setRandomPort: 61052
#6661, iniciar
#6661, setRandomPort: 52604

```