Rockbox mail archiveSubject: Problem with unregister_ata_idle_func and one-shot events
Problem with unregister_ata_idle_func and one-shot events
From: Bertrik Sikken <bertrik_at_sikken.nl>
Date: Wed, 28 May 2008 19:33:46 +0200
I think there's a problem with the unregister_ata_idle_func function,
which is probably responsible for "event xxx not found" panics, like
the one in http://www.rockbox.org/tracker/task/8993
The problem is that ata_idle events are registered as one-shot events
which clear themselves once they've fired. A subsequent call to
unregister_ata_idle_func may fail the find the event (because it
cleared itself) and cause the panic.
Completely removing unregister_ata_idle_func is an option but may be
a bit too drastic. I can also see a potential problem if a plugin
registers an ata_idle callback and then gets unloaded leaving a
stray function pointer. An example of a plugin that could use the
ata_idle callback is the battery bench plugin.
Maybe the simplest way is just to remove the panic.
What do you think?
Received on 2008-05-28