From 14e0ba9984f156fc8aa61ecee8c123712eb567f2 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Mon, 25 May 2026 02:05:49 -0400
Subject: [PATCH] netlink: Let the kernel choose a value for
sockaddr_nl::nl_pid.
It has to be unique, which getpid() sort of helps with, but it's just better
to let the kernel work it out, afaict.
---
src/SDL_net.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/SDL_net.c b/src/SDL_net.c
index f52b7e6..a4f90fa 100644
--- a/src/SDL_net.c
+++ b/src/SDL_net.c
@@ -522,7 +522,7 @@ static int SDLCALL LinuxInterfaceChangeNotificationThread(void *data)
struct sockaddr_nl addr;
SDL_zero(addr);
addr.nl_family = AF_NETLINK;
- addr.nl_pid = getpid();
+ addr.nl_pid = 0; // zero==let the kernel choose a unique number. THIS IS THE SOCKET PORT ID, NOT THE PROCESS ID!
addr.nl_groups = RTMGRP_LINK|RTMGRP_IPV4_IFADDR|RTMGRP_IPV6_IFADDR;
if (bind(fd, (struct sockaddr *) &addr, sizeof (addr)) == -1) {
close(fd);