[qt/license-tools/license-service]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/license-tools/license-service
Pushed by mirror-service into branch 'dev'.
Changed from 6421b06fbb47fac6179bf5f2f02817f409fb99a0 to 8c2b9f4f249f47301c096ecc3451bd59a480deb4
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.
This change contains the following new commits:
Git commit 8c2b9f4f249f47301c096ecc3451bd59a480deb4 by Iikka Eklund on 05/08/2026 at 13:03..
testapp: drive the reservation bench event-driven, not thread-per-job
Don't spawn a thread per reservation as that will choke the system
when simulating heave parallel usage (e.g. 10k+ reservations).
Rework the testapp to be event-driven from a single thread:
- reserve() is already asynchronous: TestApp::startReservation()
(replacing the blocking requestLicense()) starts the reservation
and reports the result through a callback.
- The bench keeps a timeline (min-heap) of job start times
(preserving the randomized ~1s startup spread) and of simulated
work-completion deadlines, instead of parking a thread in sleep
per job. Results arrive through a queue fed by the clients'
callback threads.
- A job's first callback decides its benchmark result; later renewal
or revocation notifications are ignored. The old code had a latent
bug here: a heartbeat renewal callback wrote to the bench thread's
dead stack variable ('success') after requestLicense() returned.
Co-Authored-By: Claude Fable 5 <[email protected]>
Change-Id: I555ac30f314f3a4694f657c0290a4fc38b0df032
Reviewed-by: Heikki Halmet <[email protected]>
(cherry picked from commit 7df5618c13dcc2c930e5b4b49158c0f2946270eb)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/license-tools/license-service/-/commit/8c2b9f4f249f47301c096ecc3451bd59a480deb4