Subject: Re: bug#70760: 29.3.50; core dumps when copy in other apps

From: Michael Albinus <[email-masked]>
Date: Sat, 18 May 2024 13:54:24 +0200

Eli Zaretskii <[email-masked]> writes:

Hi Eli,

>> See xd_add_watch. xd_find_watch_fd returns the file descriptor
>> reponsible for a given D-Bus connection (this is a bus like the system
>> bus, the session bus, or a private bus). This file descriptor is added
>> to Emacs via add_write_fd and add_read_fd, using the callback
>> xd_read_queued_messages. So it might look like a subprocess ...
>
> You are saying that output of some subprocess could be interpreted as
> D-Bus event?  How do we know which inputs to try to interpret as D-Bus
> events?  IOW, can you hypothesize how could we take some non-D-Bus
> input and end up interpreting it as D-Bus?

No. I'm saying that dbusbind.c uses add_write_fd and add_read_fd, which
are defined in process.c.

I don't believe that file descriptors of other subprocesses will provide
data for dbusbind.c. The registered file descriptors for D-Bus use the
callback xd_read_queued_messages, and only this callback reads the data
from the file descriptors, and generates D-Bus events.

This looks stable to me, and this architecture exists for many years.

Best regards, Michael.