Deprecate semfree and don't auto activate it
Instead the standard executor will fall back to threads. semfree caused test failures with Py3.14: https://github.com/ocrmypdf/OCRmyPDF/issues/1558 In retrospect and with emerging Python tech like freethreading, semfree is becoming less necessary. We can use threads for the time being. A consequence is that performance may be lower on Lambda and Termux when we are using threads and not shelling out work.
This commit is contained in:
@@ -2,8 +2,4 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
"""Extra plugins. These are not automatically inserted when ocrmypdf is run.
|
||||
|
||||
You can use these plugins by specifying them on the command line, e.g.:
|
||||
ocrmypdf --plugin ocrmypdf.extra_plugins.semfree ...
|
||||
"""
|
||||
"""Extra plugins. These are not automatically inserted when ocrmypdf is run."""
|
||||
|
||||
@@ -13,6 +13,9 @@ worker communicates only with the main process.
|
||||
This is not without drawbacks. If the tasks are not "even" in size, which cannot
|
||||
be guaranteed, some workers may end up with too much work while others are idle.
|
||||
It is less efficient than the standard implementation, so not the default.
|
||||
|
||||
This module is deprecated and will be removed in a future release. The standard
|
||||
executor will fall back to threads in these environments.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -20,6 +23,7 @@ from __future__ import annotations
|
||||
import logging
|
||||
import logging.handlers
|
||||
import signal
|
||||
import warnings
|
||||
from collections.abc import Callable, Iterable, Iterator
|
||||
from contextlib import suppress
|
||||
from enum import Enum, auto
|
||||
@@ -32,6 +36,11 @@ from ocrmypdf._concurrent import NullProgressBar
|
||||
from ocrmypdf.exceptions import InputFileError
|
||||
from ocrmypdf.helpers import remove_all_log_handlers
|
||||
|
||||
warnings.warn(
|
||||
"semfree.py is deprecated and will be removed in a future release.",
|
||||
DeprecationWarning,
|
||||
)
|
||||
|
||||
|
||||
class MessageType(Enum):
|
||||
"""Implement basic IPC messaging."""
|
||||
|
||||
Reference in New Issue
Block a user