File: 0001-Fix-pickling-error-in-ServerWorker-with-Python-3.14-.patch

package info (click to toggle)
python-snitun 0.45.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 664 kB
  • sloc: python: 6,703; sh: 5; makefile: 3
file content (42 lines) | stat: -rw-r--r-- 1,647 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From: Edward Betts <edward@4angle.com>
Date: Thu, 25 Dec 2025 11:09:34 +0000
Subject: Fix pickling error in ServerWorker with Python 3.14 multiprocessing

---
 snitun/server/worker.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/snitun/server/worker.py b/snitun/server/worker.py
index 131ef28..6ee3df8 100644
--- a/snitun/server/worker.py
+++ b/snitun/server/worker.py
@@ -50,10 +50,10 @@ class ServerWorker(Process):
         self._metrics_task: asyncio.Task | None = None
 
         # Communication between Parent/Child
-        self._manager: SyncManager = Manager()
-        self._new = self._manager.Queue()
-        self._sync = self._manager.dict()
-        self._peer_count = self._manager.Value("peer_count", 0)
+        manager: SyncManager = Manager()
+        self._new = manager.Queue()
+        self._sync = manager.dict()
+        self._peer_count = manager.Value("i", 0)
 
     @property
     def peer_size(self) -> int:
@@ -133,12 +133,12 @@ class ServerWorker(Process):
         """Event stream peer connection data."""
         if event == PeerManagerEvent.CONNECTED:
             if peer.hostname not in self._sync:
-                self._peer_count.set(self._peer_count.value + 1)
+                self._peer_count.value += 1
             for hostname in peer.all_hostnames:
                 self._sync[hostname] = None
         else:
             if peer.hostname in self._sync:
-                self._peer_count.set(self._peer_count.value - 1)
+                self._peer_count.value -= 1
             for hostname in peer.all_hostnames:
                 self._sync.pop(hostname, None)