Mat Sutcliffe
479210957a
Issue #77 Break dependency of worker on identifiable
2020-08-29 14:16:19 +01:00
Mat Sutcliffe
802576eda9
Issue #77 Rename
2020-08-29 14:16:11 +01:00
Mat Sutcliffe
2dc86652c2
Issue #77 Include style
2020-08-28 00:45:26 +01:00
Mat Sutcliffe
2f1e3f47f9
Track worker construction and destruction
...
Added debug log messages in case a worker still exists when the `qApp` is destroyed.
This would mean that a `quitAndWait` is missing or is being skipped somewhere.
2020-06-12 18:42:41 +01:00
Klaus Basan
1da66ce6e9
[Worker] Stop timer in correct thread
2020-06-12 18:42:38 +01:00
Klaus Basan
b0d5b3c6d1
[Worker] Log. how long it takes to quitAndWait a worker
...
* sometimes the shutdown sequence of swift takes extremly long, this is to identify which workers are affected
* reduced "wait time"
* function so each worker can have its own "wait" time
* for a worker there are 2 "waits", the quitAndWait of the worker and the wait of CRegularThread (dtor)
Originally Ref T145, T647
2020-06-12 18:42:35 +01:00
Mat Sutcliffe
61d933be12
Tidying up around QPointer guards.
2019-05-13 11:21:06 +02:00
Klaus Basan
0bbe9988e7
Ref T647, using VERIFY as discussed https://discordapp.com/channels/539048679160676382/539925070550794240/573261700413915166
2019-05-13 11:20:51 +02:00
Mat Sutcliffe
e9a4c49d68
Ref T547 Update license masthead in all source code files.
2019-02-22 20:36:43 +00:00
Mat Sutcliffe
7b4d3874a6
Ref T541 Abandoned worker shouldn't interrupt if it's in the owner's thread.
2019-02-22 20:36:32 +00:00
Klaus Basan
25df1921eb
Style
2019-02-22 20:35:33 +00:00
Mat Sutcliffe
bd9948bbff
Ref T486 Using QMetaObject::invokeMethod with pointer-to-member-function (or functor).
2019-02-22 20:34:53 +00:00
Mat Sutcliffe
9f85a7b560
Fixed clazy warnings: pass large objects by reference to const.
2019-02-22 20:23:33 +00:00
Mat Sutcliffe
bad31ab428
Ref T314 Rework CContinuousWorker::finish to invoke deleteLater in proper sequence.
2018-10-05 17:39:56 +02:00
Mat Sutcliffe
c98454ff8a
Ref T314 Style.
2018-10-05 17:39:56 +02:00
Klaus Basan
d37c52fed5
Ref T315, owner is normal pointer, disucssion:
...
- https://swift-project.slack.com/archives/GCKMFLG30/p1536331871000100
- and in comments of T315
2018-09-09 02:55:14 +02:00
Mat Sutcliffe
82648038ac
Ref T315, T314 Reverted workarounds to help diagnose original bugs
...
and added a couple more asserts.
2018-09-08 15:36:24 +02:00
Klaus Basan
5096df034b
Ref T314, thread CContinuousWorker::finish
...
- use application thread if there is no owner
- use QPointer for owner
- more detailled error message
2018-08-31 20:08:06 +02:00
Klaus Basan
1b72333b05
Trial to fix worker's finish "deleteLater"
2018-08-26 15:26:55 +02:00
Roland Winklmeier
4cf3bc580f
Use case sensitive name of Windows header files
2018-08-25 22:12:06 +02:00
Klaus Basan
b671c2a0a5
Style, removed redundant CForm overrides
2018-08-07 20:41:06 +02:00
Klaus Basan
4fef6fe0b2
Jenkins not yet supporting the new QMetaObject::invokeMethod syntax, locally on Qt 5.11 it is working
2018-07-31 01:43:33 +02:00
Klaus Basan
19f5fd1735
New syntax for QMetaObject::invokeMethod(this, &CWorker::deleteLater)
2018-07-27 09:36:09 +02:00
Klaus Basan
4f3cb6447f
Ref T292, Ref T285 minor adjustments in worker/cache
2018-07-26 21:40:52 +02:00
Klaus Basan
d6fd53287f
Improved graceful shutdown, added "m_shutdownInProgress"
...
* no assert when wait is called in same thread, just ignore wait
* quitAndWait readers, also works if not already noved in new thread (see above)
2018-04-13 23:36:49 +02:00
Klaus Basan
df25dc5c18
Ref T145, temp. workaround until task is completed
2017-10-31 15:39:34 +01:00
Klaus Basan
8324c2d305
Ref T160, continous worker now CIdentifiable and name is mandatory
2017-09-25 05:23:57 +02:00
Klaus Basan
b49b7f8c71
ASSERT when CContinuousWorker::quitAndWait is called by object thread -> deadlock
2017-09-24 19:53:50 +01:00
Klaus Basan
e2853c3db2
Ref T109, worker tweaks
...
* set name already in ctor
* Q_ASSERT_X for start
2017-09-24 19:50:56 +01:00
Klaus Basan
4a7ad09e46
Ref T105, m_updateTimer as protected member of CContinuousWorker
...
* stop timer
* default cleanup implementation
* set timer name
2017-09-24 19:50:14 +01:00
Klaus Basan
7f3643fb0e
Ref T105, use enabled in CContinuousWorker
...
* removed slots
* getName
2017-09-24 19:50:06 +01:00
Mathew Sutcliffe
41ff563e19
T66 A new smart pointer for managing a CContinuousWorker subclass instance.
...
Owns the worker before it starts, when ownership is transferred to the thread.
2017-05-14 17:21:34 +01:00
Mathew Sutcliffe
ca81c65eae
T66 CContinuousWorker tracks whether it has been started,
...
and when starting checks that it was not already started.
2017-05-14 17:21:33 +01:00
Mathew Sutcliffe
a30eb18a9c
On Windows, warn if a thread was terminated with its QThread still in running state.
...
I hope this catches if the data cache serializer is killed in the middle of a save.
2016-08-26 21:04:43 +01:00
Klaus Basan
dc02ff2d0c
Addded log categories / human readable pattern
2016-06-29 01:04:44 +02:00
Roland Winklmeier
3d7a39ed00
Fix BlackMisc header includes
...
* Include only what is used
* Use forward declaration when possible
* Sorted includes
refs #630
2016-05-13 17:05:49 +02:00
Mathew Sutcliffe
c26a6fef8b
refs #624 Use noexcept instead of Q_DECL_NOEXCEPT.
2016-03-19 21:07:15 +00:00
Klaus Basan
f03f3ef224
refs #605 , make sure the main thread is not terminated
...
In unit test a reader was to started. Here it was happening the main thread was terminated accidentally
2016-03-18 01:09:23 +00:00
Mathew Sutcliffe
1dc4864ffa
refs #476 Facility to ask worker to abandon its task and finish early.
2015-11-26 18:24:10 +00:00
Mathew Sutcliffe
feeca47060
Assert earlier when thenWithResult type doesn't match lambda return type.
2015-11-19 21:05:18 +00:00
Mathew Sutcliffe
3cc9468d63
refs #457 CWorker support for non-void tasks and thenWithResult().
2015-11-19 20:58:23 +00:00
Mathew Sutcliffe
7a37c86782
Rewrite CWorker::waitForFinished using std::future<void> instead of QWaitCondition.
2015-11-19 20:51:17 +00:00
Klaus Basan
8e56a14caf
refs #438 , allow to cancel parser
...
* added flag for parsing success
* unload driver cancels parsing
* assert for invoke
* using waitForFinished
2015-06-03 16:25:53 +02:00
Mathew Sutcliffe
732903b243
refs #439 Adjust noexcept specification of worker methods commonly used in destructors.
2015-06-02 18:54:08 +01:00
Mathew Sutcliffe
17c1742bec
refs #439 CWorkerBase::waitForFinished().
2015-06-02 18:54:08 +01:00
Roland Winklmeier
1b26311983
Fix license header spelling
2015-04-16 00:59:56 +02:00
Klaus Basan
aafee8eafd
refs #402 , post merge feedback by MS
2015-04-11 02:09:10 +02:00
Klaus Basan
f0db7ed660
refs #380 , QConcurrent vs QThread sample and fix
...
* in same step fixed nullptr issue in worker (with no parent)
* Changed from QConccurennt::run to CWorker in core
2015-03-20 16:33:23 +01:00
Mathew Sutcliffe
2a1541786a
refs #334 Added class CContinuousWorker, base class for long-lived threaded worker objects. Inherits from CWorkerBase.
2014-11-30 02:29:21 +01:00
Mathew Sutcliffe
7b352c907a
refs #334 Refactored CWorker parts relating to finished() signal into new base class CWorkerBase.
2014-11-30 02:29:18 +01:00