mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-25 18:22:59 +02:00
TaskManager::count() now returns std::size_t; release mutex before posting progress notification
This commit is contained in:
@@ -86,7 +86,7 @@ public:
|
|||||||
TaskList taskList() const;
|
TaskList taskList() const;
|
||||||
/// Returns a copy of the internal task list.
|
/// Returns a copy of the internal task list.
|
||||||
|
|
||||||
int count() const;
|
std::size_t count() const;
|
||||||
/// Returns the number of tasks in the internal task list.
|
/// Returns the number of tasks in the internal task list.
|
||||||
|
|
||||||
void addObserver(const AbstractObserver& observer);
|
void addObserver(const AbstractObserver& observer);
|
||||||
@@ -125,11 +125,11 @@ private:
|
|||||||
//
|
//
|
||||||
// inlines
|
// inlines
|
||||||
//
|
//
|
||||||
inline int TaskManager::count() const
|
inline std::size_t TaskManager::count() const
|
||||||
{
|
{
|
||||||
FastMutex::ScopedLock lock(_mutex);
|
FastMutex::ScopedLock lock(_mutex);
|
||||||
|
|
||||||
return (int) _taskList.size();
|
return _taskList.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -115,11 +115,12 @@ void TaskManager::taskStarted(Task* pTask)
|
|||||||
|
|
||||||
void TaskManager::taskProgress(Task* pTask, float progress)
|
void TaskManager::taskProgress(Task* pTask, float progress)
|
||||||
{
|
{
|
||||||
FastMutex::ScopedLock lock(_mutex);
|
ScopedLockWithUnlock<FastMutex> lock(_mutex);
|
||||||
|
|
||||||
if (_lastProgressNotification.isElapsed(MIN_PROGRESS_NOTIFICATION_INTERVAL))
|
if (_lastProgressNotification.isElapsed(MIN_PROGRESS_NOTIFICATION_INTERVAL))
|
||||||
{
|
{
|
||||||
_lastProgressNotification.update();
|
_lastProgressNotification.update();
|
||||||
|
lock.unlock();
|
||||||
_nc.postNotification(new TaskProgressNotification(pTask, progress));
|
_nc.postNotification(new TaskProgressNotification(pTask, progress));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user