Есть вариант так не делать, при условии что процесс форка я контролировать не могу. Его будет делать waitress или gunicorn.
Проблема, которую я хочу создать:
- есть несколько публичных функций модуля.
- они могут вызывать друг друга внутри себя
- пользователь может вызывать любую из функций
- надо написать декоратор для этих функций, который реализует Лок на ресурс.
- функции вложенные должны уметь получить Лок захваченный в этом же треде выше по колл стэку
- сейчас это делается пропагированием аргумента skip lock при вызове вложенных функций.
Хочу реализовать без аргумента.
Очень похоже на то, что я делал с помощью пакета xlocal. Надо было с помощью контекстного менеджера менять настройки поведения кода, который будет выполняться ниже по стеку. Конкретно - надо было запрещать или разрешать "райзить" сигналы (паттерн обсервер). Но у меня не было проблем с форками - у меня всё форкалось заранее, сразу после создания wsgi приложения, но до первого запроса.