]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: event - update tags before writing out db
authorTom Gundersen <teg@jklm.no>
Fri, 17 Apr 2015 13:46:37 +0000 (15:46 +0200)
committerTom Gundersen <teg@jklm.no>
Thu, 23 Apr 2015 20:31:25 +0000 (22:31 +0200)
The old tags are read from the db when deciding which tags to clear,
make sure we don't write out the new db before the old one has been
read.

src/udev/udev-event.c

index bda06385eaa28a525c7c41cfeeb220ab581ef313..978b21832d7d976f15a5865cd782963c7dc936d9 100644 (file)
@@ -877,12 +877,11 @@ void udev_event_execute_rules(struct udev_event *event,
                 udev_device_ensure_usec_initialized(event->dev, event->dev_db);
 
                 /* (re)write database file */
-                udev_device_update_db(dev);
                 udev_device_tag_index(dev, event->dev_db, true);
+                udev_device_update_db(dev);
                 udev_device_set_is_initialized(dev);
 
-                udev_device_unref(event->dev_db);
-                event->dev_db = NULL;
+                event->dev_db = udev_device_unref(event->dev_db);
         }
 }