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:
parent
21097d1c9e
commit
bed4af6fef
10 changed files with 17 additions and 23 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue