Commit 157d931
Onur Keskin
Set SO_REUSEPORT on multicast input sockets for Apple platforms
OpenAndBindInputSocket() only enabled SO_REUSEPORT for QNX (#272, #350).
On Darwin, SO_REUSEADDR alone is not enough for two processes to share a
UDP multicast port: the second bind fails with EADDRINUSE, the failure is
not surfaced, and that DomainParticipant never receives SPDP multicast.
Extend the existing QNX conditional to __APPLE__ in UDPv4 and UDPv6
transports. Linux intentionally unchanged: SO_REUSEPORT there load-balances
datagrams instead of duplicating delivery.
Signed-off-by: Onur Keskin <keskinonur@me.com>1 parent dd66ef2 commit 157d931
2 files changed
Lines changed: 12 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
426 | 426 | | |
427 | 427 | | |
428 | 428 | | |
429 | | - | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
430 | 434 | | |
431 | 435 | | |
432 | | - | |
| 436 | + | |
433 | 437 | | |
434 | 438 | | |
435 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
427 | 427 | | |
428 | 428 | | |
429 | 429 | | |
430 | | - | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
431 | 435 | | |
432 | 436 | | |
433 | | - | |
| 437 | + | |
434 | 438 | | |
435 | 439 | | |
436 | 440 | | |
| |||
0 commit comments