Repository navigation
Conversation
UdpConfigCard binds a local port and sends to a remote host and port; with no remote it answers the last sender, and a broadcast address broadcasts. Every datagram is one frame, as MQTT messages are, so all parsers work on it, and the Modbus master, poller and slave run over it (modbus_tcp framing, or RTU/ASCII), the slave always answering the asker. It owns its link like the other cards and exports with the app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PyQt's atexit hook deletes every QObject Python still owns while it walks sip's table of wrappers. When a deletion runs Python (a destroyed slot, an event filter) that wraps new objects, sip can grow the table and free the copy being walked. Test child processes then segfaulted now and then after their script had finished (macOS-Intel / Python 3.12, Windows / Python 3.14). The designer and exported apps already tear down before exiting and were not affected. tests/orderly_exit.py does the same deletions first from an atexit hook that runs before PyQt's, leaving PyQt nothing to delete. Every test child script starts with its one-line prelude, and importing the module covers the test process itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UdpConfigCard(UDP 配置):defaultLocalPort, 0 lets the system choose) and sends todefaultHost:defaultPort.modbus_tcpframing, or RTU/ASCII), and the slave always answers the asker.uidp-format.md,uidp-widgets.md,protocol.mdand the READMEs. Bluetooth is dropped from the roadmap, together with a stale "English interface planned" line.cleanup_on_exit) deletes Python-owned QObjects while it walks sip's wrapper table. When one of those deletions runs Python that wraps new objects, sip can free the table being walked.tests/orderly_exit.pydeletes those objects first, from an atexit hook that runs before PyQt's, and every test child starts with its one-line prelude.Checked:
🤖 Generated with Claude Code