mirror of
https://github.com/EttusResearch/uhd.git
synced 2026-10-25 17:36:10 +00:00
mpm: Set names for all MPM processes
During debug, it is often helpful to distinguish the processes by name. By default, Python processes inherit the name of the parent, which is the name of the script executed. This change sets explicit names for all our MPM processes.
This commit is contained in:
parent
a4154923c0
commit
948c31387d
@ -7,8 +7,9 @@
|
||||
"""
|
||||
|
||||
import socket
|
||||
from multiprocessing import Process
|
||||
from multiprocessing import Process, current_process
|
||||
|
||||
import setproctitle
|
||||
from usrp_mpm.mpmlog import get_main_logger
|
||||
from usrp_mpm.mpmtypes import MPM_DISCOVERY_PORT
|
||||
from usrp_mpm.mpmutils import to_binary_str
|
||||
@ -41,6 +42,7 @@ def _discovery_process(state, discovery_addr):
|
||||
|
||||
Is spawned by spawn_discovery_process().
|
||||
"""
|
||||
setproctitle.setproctitle(current_process().name)
|
||||
log = get_main_logger().getChild("discovery")
|
||||
|
||||
def create_response_string(state):
|
||||
|
||||
@ -8,8 +8,9 @@
|
||||
|
||||
import re
|
||||
import signal
|
||||
from multiprocessing import Event, Process, Value
|
||||
from multiprocessing import Event, Process, Value, current_process
|
||||
|
||||
import setproctitle
|
||||
from usrp_mpm.mpmutils import poll_with_timeout, register_chained_signal_handler
|
||||
from usrp_mpm.sys_utils.gpio import Gpio
|
||||
|
||||
@ -279,10 +280,12 @@ class DioControl:
|
||||
}
|
||||
self._dio0_fault_monitor = Process(
|
||||
target=self._monitor_dio_fault,
|
||||
name="DIO0 fault monitor",
|
||||
args=("A", "DIO_INT0", self._tear_down_monitor, self._dio_fault["PORTA"]),
|
||||
)
|
||||
self._dio1_fault_monitor = Process(
|
||||
target=self._monitor_dio_fault,
|
||||
name="DIO1 fault monitor",
|
||||
args=("B", "DIO_INT1", self._tear_down_monitor, self._dio_fault["PORTB"]),
|
||||
)
|
||||
register_chained_signal_handler(signal.SIGINT, self._monitor_int_handler)
|
||||
@ -315,6 +318,7 @@ class DioControl:
|
||||
If there is a fault, turn off external power.
|
||||
"""
|
||||
self.log.trace("Launching monitor loop...")
|
||||
setproctitle.setproctitle(current_process().name)
|
||||
fault_line = Gpio(fault, Gpio.FALLING_EDGE)
|
||||
while True:
|
||||
try:
|
||||
|
||||
@ -13,10 +13,11 @@ import sys
|
||||
import threading
|
||||
import traceback
|
||||
from contextlib import contextmanager
|
||||
from multiprocessing import Process, RLock
|
||||
from multiprocessing import Process, RLock, current_process
|
||||
from random import choice
|
||||
from string import ascii_letters, digits
|
||||
|
||||
import setproctitle
|
||||
from gevent import Greenlet, monkey, spawn_later
|
||||
from gevent.pool import Pool
|
||||
from gevent.server import StreamServer
|
||||
@ -616,6 +617,7 @@ def _rpc_server_process(shared_state, port, default_args):
|
||||
:param port: The port to run the RPC server on
|
||||
:param default_args: The arguments passed by the app
|
||||
"""
|
||||
setproctitle.setproctitle(current_process().name)
|
||||
connections = Pool(1000)
|
||||
server = StreamServer(
|
||||
("0.0.0.0", port), handle=MPMServer(shared_state, default_args), spawn=connections
|
||||
@ -631,7 +633,7 @@ def _rpc_server_process(shared_state, port, default_args):
|
||||
server.stop()
|
||||
sys.exit(0)
|
||||
|
||||
threading.Thread(target=stop_worker, daemon=True).start()
|
||||
threading.Thread(target=stop_worker, name="Stop listener", daemon=True).start()
|
||||
register_chained_signal_handler(signal.SIGTERM, lambda *args: stop_event.set())
|
||||
register_chained_signal_handler(signal.SIGINT, lambda *args: stop_event.set())
|
||||
server.serve_forever()
|
||||
@ -646,6 +648,7 @@ def spawn_rpc_process(state, udp_port, default_args):
|
||||
"""
|
||||
proc = Process(
|
||||
target=_rpc_server_process,
|
||||
name="RPCServer",
|
||||
args=[state, udp_port, default_args],
|
||||
)
|
||||
proc.start()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user