diff --git a/piker/data/_sharedmem.py b/piker/data/_sharedmem.py index fb442d7c..3dc8de89 100644 --- a/piker/data/_sharedmem.py +++ b/piker/data/_sharedmem.py @@ -22,7 +22,9 @@ from sys import byteorder from typing import List, Tuple, Optional from multiprocessing.shared_memory import SharedMemory, _USE_POSIX from multiprocessing import resource_tracker as mantracker -from _posixshmem import shm_unlink + +if _USE_POSIX: + from _posixshmem import shm_unlink import tractor import numpy as np @@ -73,7 +75,7 @@ class SharedInt: @value.setter def value(self, value) -> None: - self._shm.buf[:] = value.to_bytes(4, byteorder) + self._shm.buf[:] = value.to_bytes(self._shm.size, byteorder) def destroy(self) -> None: if _USE_POSIX: diff --git a/piker/ui/_exec.py b/piker/ui/_exec.py index 85901d0c..2146cdd5 100644 --- a/piker/ui/_exec.py +++ b/piker/ui/_exec.py @@ -197,6 +197,7 @@ def run_qtractor( async with maybe_open_pikerd( name='qtractor', + start_method='trio', **tractor_kwargs, ): await func(*((widgets,) + args))