diff options
author | Thomas Martitz <kugel@rockbox.org> | 2014-03-14 23:15:16 +0100 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2014-03-14 23:36:30 +0100 |
commit | 470989bd708d9a425dbbf2d83b8fcbd0a8d0f488 (patch) | |
tree | f3bef37bc0f8ff7da4beddad9903209ced1bc25a /apps/tagcache.c | |
parent | 50f0dd80d660b332a1739e07a630c2cef1b678c6 (diff) | |
download | rockbox-470989bd708d9a425dbbf2d83b8fcbd0a8d0f488.tar.gz rockbox-470989bd708d9a425dbbf2d83b8fcbd0a8d0f488.zip |
events: Rework event subsystem (add_event, send_event) to be more versatile.
add_event_ex is added that takes an extra user_data pointer. This pointer is
passed to the callback (add_event and add_event_ex have slightly different
callbacks types). All callbacks also get the event id passed. Events added
with add_event_ex must be removed with remove_event_ex because the user_data
pointer must match in addition to the callback pointer.
On the other add_event is simplified to omit the oneshort parameter which
was almost always false (still there with add_event_ex).
As a side effect the ata_idle_notify callbacks are changed as well, they
do not take a data parameter anymore which was always NULL anyway.
This commit also adds some documentation to events.h
Change-Id: I13e29a0f88ef908f175b376d83550f9e0231f772
Diffstat (limited to 'apps/tagcache.c')
-rw-r--r-- | apps/tagcache.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/apps/tagcache.c b/apps/tagcache.c index 3ce0247188..b7d5516e81 100644 --- a/apps/tagcache.c +++ b/apps/tagcache.c | |||
@@ -3195,9 +3195,8 @@ static bool command_queue_is_full(void) | |||
3195 | return (next == command_queue_ridx); | 3195 | return (next == command_queue_ridx); |
3196 | } | 3196 | } |
3197 | 3197 | ||
3198 | static void command_queue_sync_callback(void *data) | 3198 | static void command_queue_sync_callback(void) |
3199 | { | 3199 | { |
3200 | (void)data; | ||
3201 | struct master_header myhdr; | 3200 | struct master_header myhdr; |
3202 | int masterfd; | 3201 | int masterfd; |
3203 | 3202 | ||
@@ -3246,7 +3245,7 @@ static void run_command_queue(bool force) | |||
3246 | return; | 3245 | return; |
3247 | 3246 | ||
3248 | if (force || command_queue_is_full()) | 3247 | if (force || command_queue_is_full()) |
3249 | command_queue_sync_callback(NULL); | 3248 | command_queue_sync_callback(); |
3250 | else | 3249 | else |
3251 | register_storage_idle_func(command_queue_sync_callback); | 3250 | register_storage_idle_func(command_queue_sync_callback); |
3252 | } | 3251 | } |
@@ -4898,4 +4897,3 @@ int tagcache_get_max_commit_step(void) | |||
4898 | { | 4897 | { |
4899 | return (int)(SORTED_TAGS_COUNT)+1; | 4898 | return (int)(SORTED_TAGS_COUNT)+1; |
4900 | } | 4899 | } |
4901 | |||