1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 14:57:35 +00:00

LibCore+Ladybird: Make unregistering timer infallible

Let's force calling code to provide valid timer ids. No code changes are
required since, surprise, nobody used this obscure functionality.
This commit is contained in:
Dan Klishch 2024-02-18 00:10:23 -05:00 committed by Andrew Kaster
parent 21097d1c9e
commit bed4af6fef
10 changed files with 17 additions and 23 deletions

View file

@ -82,18 +82,15 @@ int CFEventLoopManager::register_timer(Core::EventReceiver& receiver, int interv
return timer_id;
}
bool CFEventLoopManager::unregister_timer(int timer_id)
void CFEventLoopManager::unregister_timer(int timer_id)
{
auto& thread_data = ThreadData::the();
thread_data.timer_id_allocator.deallocate(timer_id);
if (auto timer = thread_data.timers.take(timer_id); timer.has_value()) {
CFRunLoopTimerInvalidate(*timer);
CFRelease(*timer);
return true;
}
return false;
auto timer = thread_data.timers.take(timer_id);
VERIFY(timer.has_value());
CFRunLoopTimerInvalidate(*timer);
CFRelease(*timer);
}
static void socket_notifier(CFSocketRef socket, CFSocketCallBackType notification_type, CFDataRef, void const*, void* info)