Messages in this thread | | | Subject | Re: [PATCH -v3 5/8] fsnotify: unified filesystem notification backend | From | Peter Zijlstra <> | Date | Thu, 27 Nov 2008 17:20:49 +0100 |
| |
On Tue, 2008-11-25 at 12:21 -0500, Eric Paris wrote: > +int fsnotify_check_notif_queue(struct fsnotify_group *group) > +{ > + mutex_lock(&group->notification_mutex); > + if (!list_empty(&group->notification_list)) > + return 1; > + mutex_unlock(&group->notification_mutex); > + return 0; > +}
> +void fsnotify_clear_notif(struct fsnotify_group *group) > +{ > + struct fsnotify_event *event; > + > + while (fsnotify_check_notif_queue(group)) { > + event = get_event_from_notif(group); > + fsnotify_put_event(event); > + /* fsnotify_check_notif_queue() took this lock */ > + mutex_unlock(&group->notification_mutex); > + } > +}
That is quite horrible, please just open code that to keep the locking symmetric.
| |