1.1 --- a/libfsserver/lib/generic/notification.cc Mon Jul 12 22:52:52 2021 +0200
1.2 +++ b/libfsserver/lib/generic/notification.cc Mon Jul 12 23:18:16 2021 +0200
1.3 @@ -80,9 +80,9 @@
1.4 }
1.5 }
1.6
1.7 -/* Notify the other endpoint. */
1.8 +/* Notify a particular endpoint. */
1.9
1.10 -void NotificationSupport::notify(unsigned int endpoint, notify_flags_t flags, l4_cap_idx_t source)
1.11 +void NotificationSupport::notify(unsigned int endpoint, notify_flags_t flags)
1.12 {
1.13 /* Notify the endpoint or hold any notification for potential future
1.14 subscription. */
1.15 @@ -95,12 +95,6 @@
1.16
1.17 for (it = _notifiers[endpoint].begin(); it != _notifiers[endpoint].end(); it++)
1.18 {
1.19 - /* Avoid notifying the source of the notification if it is
1.20 - present in the list. */
1.21 -
1.22 - if (l4_is_valid_cap(source) && (*it == source))
1.23 - continue;
1.24 -
1.25 client_Notifier notifier(*it);
1.26
1.27 notifier.notify(flags & _flags[endpoint]);
1.28 @@ -111,6 +105,15 @@
1.29 _deferred[endpoint] = flags;
1.30 }
1.31
1.32 +/* Notify the other endpoints. */
1.33 +
1.34 +void NotificationSupport::notify_others(unsigned int endpoint, notify_flags_t flags)
1.35 +{
1.36 + for (unsigned int i = 0; i < _max_endpoints; i++)
1.37 + if (i != endpoint)
1.38 + notify(i, flags);
1.39 +}
1.40 +
1.41 /* Release notifiers for each endpoint. */
1.42
1.43 void NotificationSupport::release_notifiers()