Sfoglia il codice sorgente

import platform module instead of functions

(testability)
Marian Beermann 8 anni fa
parent
commit
7930d055ec
1 ha cambiato i file con 6 aggiunte e 9 eliminazioni
  1. 6 9
      src/borg/locking.py

+ 6 - 9
src/borg/locking.py

@@ -1,13 +1,10 @@
-import errno
 import json
 import os
-import socket
-import sys
 import time
 
+from . import platform
 from .helpers import Error, ErrorWithTraceback
 from .logger import create_logger
-from .platform import process_alive, get_process_id
 
 ADD, REMOVE = 'add', 'remove'
 SHARED, EXCLUSIVE = 'shared', 'exclusive'
@@ -107,7 +104,7 @@ class ExclusiveLock:
         self.timeout = timeout
         self.sleep = sleep
         self.path = os.path.abspath(path)
-        self.id = id or get_process_id()
+        self.id = id or platform.get_process_id()
         self.unique_name = os.path.join(self.path, "%s.%d-%x" % self.id)
         self.ok_to_kill_stale_locks = kill_stale_locks
         self.stale_warning_printed = False
@@ -170,7 +167,7 @@ class ExclusiveLock:
                 # It's safer to just exit
                 return False
 
-            if not process_alive(host, pid, thread):
+            if not platform.process_alive(host, pid, thread):
                 return False
 
             if not self.ok_to_kill_stale_locks:
@@ -216,7 +213,7 @@ class LockRoster:
     """
     def __init__(self, path, id=None, kill_stale_locks=False):
         self.path = path
-        self.id = id or get_process_id()
+        self.id = id or platform.get_process_id()
         self.ok_to_kill_zombie_locks = kill_stale_locks
 
     def load(self):
@@ -231,7 +228,7 @@ class LockRoster:
                     try:
                         for e in data[key]:
                             (host, pid, thread) = e
-                            if not process_alive(host, pid, thread):
+                            if not platform.process_alive(host, pid, thread):
                                 elements.add(tuple(e))
                             else:
                                 logger.warning('Removed stale %s roster lock for pid %d.', key, pid)
@@ -297,7 +294,7 @@ class Lock:
         self.is_exclusive = exclusive
         self.sleep = sleep
         self.timeout = timeout
-        self.id = id or get_process_id()
+        self.id = id or platform.get_process_id()
         # globally keeping track of shared and exclusive lockers:
         self._roster = LockRoster(path + '.roster', id=id, kill_stale_locks=kill_stale_locks)
         # an exclusive lock, used for: