On Wed, Apr 29, 2015 at 1:15 PM, David Lang <da...@lang.hm> wrote:
> On Wed, 29 Apr 2015, Andy Lutomirski wrote:
>
>> On Wed, Apr 29, 2015 at 12:30 PM, Austin S Hemmelgarn
>> <ahferro...@gmail.com> wrote:
>>>
>>> On 2015-04-29 14:54, Andy Lutomirski wrote:
>>>>
>>>>
>>>> On Apr 29, 2015 5:48 AM, "Harald Hoyer" <har...@redhat.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>   * Being in the kernel closes a lot of races which can't be fixed with
>>>>>     the current userspace solutions.  For example, with kdbus, there is
>>>>> a
>>>>>     way a client can disconnect from a bus, but do so only if no
>>>>> further
>>>>>     messages present in its queue, which is crucial for implementing
>>>>>     race-free "exit-on-idle" services
>>>>
>>>>
>>>>
>>>> This can be implemented in userspace.
>>>>
>>>> Client to dbus daemon: may I exit now?
>>>> Dbus daemon to client: yes (and no more messages) or no
>>>>
>>> Depending on how this is implemented, there would be a potential issue if
>>> a
>>> message arrived for the client after the daemon told it it could exit,
>>> but
>>> before it finished shutdown, in which case the message might get lost.
>>>
>>
>> Then implement it the right way?  The client sends some kind of
>> sequence number with its request.
>
>
> so any app in the system can prevent any other app from exiting/restarting
> by just sending it the equivalent of a ping over dbus?
>
> preventing an app from exiting because there are unhandled messages doesn't
> mean that those messages are going to be handled, just that they will get
> read and dropped on the floor by an app trying to exit. Sometimes you will
> just end up with a hung app that can't process messages and needs to be
> restarted, but can't be restarted because there are pending messages.

I think this consideration is more or less the same whether it's
handled in the kernel or in userspace, though.

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to