@@ -8,27 +8,20 @@ namespace node {
8
8
std::vector<CleanupQueue::CleanupHookCallback> CleanupQueue::GetOrdered ()
9
9
const {
10
10
// Copy into a vector, since we can't sort an unordered_set in-place.
11
- std::vector<CleanupHookCallback> callbacks (cleanup_hooks_.begin (),
12
- cleanup_hooks_.end ());
11
+ std::vector callbacks (cleanup_hooks_.begin (), cleanup_hooks_.end ());
13
12
// We can't erase the copied elements from `cleanup_hooks_` yet, because we
14
13
// need to be able to check whether they were un-scheduled by another hook.
15
14
16
- std::sort (callbacks.begin (),
17
- callbacks.end (),
18
- [](const CleanupHookCallback& a, const CleanupHookCallback& b) {
19
- // Sort in descending order so that the most recently inserted
20
- // callbacks are run first.
21
- return a.insertion_order_counter_ > b.insertion_order_counter_ ;
22
- });
15
+ // Sort in descending order so that the most recently inserted callbacks are
16
+ // run first.
17
+ std::ranges::sort (callbacks, std::greater ());
23
18
24
19
return callbacks;
25
20
}
26
21
27
22
void CleanupQueue::Drain () {
28
- std::vector<CleanupHookCallback> callbacks = GetOrdered ();
29
-
30
- for (const CleanupHookCallback& cb : callbacks) {
31
- if (cleanup_hooks_.count (cb) == 0 ) {
23
+ for (const CleanupHookCallback& cb : GetOrdered ()) {
24
+ if (!cleanup_hooks_.contains (cb)) {
32
25
// This hook was removed from the `cleanup_hooks_` set during another
33
26
// hook that was run earlier. Nothing to do here.
34
27
continue ;
0 commit comments