Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ jobs:
- "3.11"
- "3.12"
- "3.13"
- "3.14"
steps:
- uses: actions/checkout@v4
- name: Try to get cached BlazingMQ build artifacts
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
[![MessageQueue](https://img.shields.io/badge/MessageQueue-blue)](#)
[![Documentation](https://img.shields.io/badge/Documentation-blue)](https://bloomberg.github.io/blazingmq)
[![Code Style](https://img.shields.io/badge/Black-black)](#)
![Supported Python versions](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.1220%7C%203.13-blue?logo=python)
![Supported Python versions](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue?logo=python)

# BlazingMQ Python SDK

Expand Down
1 change: 1 addition & 0 deletions news/60.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Support Python 3.14
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ def create_extension(name, libraries, **kwargs):
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
Expand Down
8 changes: 5 additions & 3 deletions src/blazingmq/_callbacks.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,14 @@ def on_message(
user_callback(message, message_handle)

del message_handle # The message handle holds a reference to the extension session.
if sys.getrefcount(ext_session) == 2: # covered in a subprocess # pragma: no cover
ext_session_ref_count = sys.getrefcount(ext_session)
if ext_session_ref_count == 2: # covered in a subprocess # pragma: no cover
# Dropping our reference to the extension session will drop its reference count
# to 0, calling __dealloc__ and stop() from its own background thread.
print(
"Deadlock detected by blazingmq after calling %s; aborting process."
% user_callback,
f"Deadlock detected by blazingmq after calling { user_callback } " +
f"(ext_session ref count is { ext_session_ref_count }); " +
f"aborting process.",
file=sys.stderr,
)
try:
Expand Down
Loading