mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-01 15:03:39 +02:00
inotify: Optimize consecutive g_hash_table_{lookup,remove} calls
This commit is contained in:
@@ -275,12 +275,10 @@ ik_source_dispatch (GSource *source,
|
||||
{
|
||||
ik_event_t *pair;
|
||||
|
||||
pair = g_hash_table_lookup (iks->unmatched_moves, GUINT_TO_POINTER (event->cookie));
|
||||
if (pair != NULL)
|
||||
if (g_hash_table_steal_extended (iks->unmatched_moves, GUINT_TO_POINTER (event->cookie), NULL, (gpointer*)&pair))
|
||||
{
|
||||
g_assert (!pair->pair);
|
||||
|
||||
g_hash_table_remove (iks->unmatched_moves, GUINT_TO_POINTER (event->cookie));
|
||||
event->is_second_in_pair = TRUE;
|
||||
event->pair = pair;
|
||||
pair->pair = event;
|
||||
@@ -344,12 +342,10 @@ ik_source_dispatch (GSource *source,
|
||||
{
|
||||
ik_event_t *pair;
|
||||
|
||||
pair = g_hash_table_lookup (iks->unmatched_moves, GUINT_TO_POINTER (event->cookie));
|
||||
if (pair != NULL)
|
||||
if (g_hash_table_steal_extended (iks->unmatched_moves, GUINT_TO_POINTER (event->cookie), NULL, (gpointer*)&pair))
|
||||
{
|
||||
g_assert (!pair->pair);
|
||||
|
||||
g_hash_table_remove (iks->unmatched_moves, GUINT_TO_POINTER (event->cookie));
|
||||
event->is_second_in_pair = TRUE;
|
||||
event->pair = pair;
|
||||
pair->pair = event;
|
||||
|
Reference in New Issue
Block a user