mirror of
https://github.com/latentPrion/libspinscale.git
synced 2026-04-17 22:44:25 +00:00
Compare commits
3 Commits
b4b61bb2b6
...
e98aae7e7e
| Author | SHA1 | Date | |
|---|---|---|---|
| e98aae7e7e | |||
| dab5477249 | |||
| 8af362c791 |
@@ -197,7 +197,7 @@ void PuppetApplication::exitAllPuppetThreadsReq(
|
|||||||
{
|
{
|
||||||
thread->exitThreadReq(
|
thread->exitThreadReq(
|
||||||
{request, std::bind(
|
{request, std::bind(
|
||||||
&PuppetThreadLifetimeMgmtOp::executeGenericOpOnAllPuppetThreadsReq1,
|
&PuppetThreadLifetimeMgmtOp::exitAllPuppetThreadsReq1,
|
||||||
request.get(), request)});
|
request.get(), request)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ void Qutex::backoff(
|
|||||||
#ifdef CONFIG_ENABLE_DEBUG_LOCKS
|
#ifdef CONFIG_ENABLE_DEBUG_LOCKS
|
||||||
currOwner = nullptr;
|
currOwner = nullptr;
|
||||||
#endif
|
#endif
|
||||||
LockerAndInvokerBase &newFront = *queue.front();
|
std::shared_ptr<LockerAndInvokerBase> newFront = queue.front();
|
||||||
|
|
||||||
lock.release();
|
lock.release();
|
||||||
|
|
||||||
@@ -268,7 +268,7 @@ void Qutex::backoff(
|
|||||||
* Hence there ought to be no way for the failedAcquirer to be at the front
|
* Hence there ought to be no way for the failedAcquirer to be at the front
|
||||||
* of the queue at this point UNLESS the queue has only one item in it.
|
* of the queue at this point UNLESS the queue has only one item in it.
|
||||||
*/
|
*/
|
||||||
if (newFront == failedAcquirer && nQItems > 1)
|
if (*newFront == failedAcquirer && nQItems > 1)
|
||||||
{
|
{
|
||||||
throw std::runtime_error(
|
throw std::runtime_error(
|
||||||
std::string(__func__) +
|
std::string(__func__) +
|
||||||
@@ -304,7 +304,7 @@ void Qutex::backoff(
|
|||||||
* is backing off of a qutex within which it's the only waiter.
|
* is backing off of a qutex within which it's the only waiter.
|
||||||
*/
|
*/
|
||||||
if (nQItems > 1) {
|
if (nQItems > 1) {
|
||||||
newFront.awaken();
|
newFront->awaken();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,11 +370,11 @@ void Qutex::release()
|
|||||||
*
|
*
|
||||||
* Therefore we must always awaken the front item when releas()ing.
|
* Therefore we must always awaken the front item when releas()ing.
|
||||||
*/
|
*/
|
||||||
LockerAndInvokerBase &front = *queue.front();
|
std::shared_ptr<LockerAndInvokerBase> front = queue.front();
|
||||||
|
|
||||||
lock.release();
|
lock.release();
|
||||||
|
|
||||||
front.awaken();
|
front->awaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace sscl
|
} // namespace sscl
|
||||||
|
|||||||
Reference in New Issue
Block a user