delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/08/27/10:24:38

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.0 required=5.0 tests=AWL,BAYES_00,SPF_NEUTRAL,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <4C77CA9C.1090207@cornell.edu>
Date: Fri, 27 Aug 2010 10:24:28 -0400
From: Ken Brown <kbrown AT cornell DOT edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100802 Thunderbird/3.1.2
MIME-Version: 1.0
To: cygwin <cygwin AT cygwin DOT com>
Subject: Re: Emacs and DBUS
References: <847hjvdyr9 DOT fsf AT aol DOT com> <4C667099 DOT 2020103 AT cornell DOT edu> <87mxsj69st DOT fsf AT gmx DOT de> <4C6C2D11 DOT 8020003 AT cornell DOT edu> <87d3tf685q DOT fsf AT gmx DOT de> <4C6C4BC8 DOT 9010400 AT cornell DOT edu> <87lj7vokyt DOT fsf AT gmx DOT de> <4C74648F DOT 2030203 AT cornell DOT edu> <87d3t7nzez DOT fsf AT gmx DOT de> <4C75226F DOT 9030005 AT cornell DOT edu> <4C752AAB DOT 9000304 AT cornell DOT edu> <4C752F4F DOT 60203 AT cornell DOT edu> <8762yyovon DOT fsf AT gmx DOT de> <4C76C254 DOT 4040802 AT cornell DOT edu> <87occpyvsl DOT fsf AT gmx DOT de> <4C77233A DOT 1090504 AT cornell DOT edu> <871v9kbj02 DOT fsf AT gmx DOT de>
In-Reply-To: <871v9kbj02.fsf@gmx.de>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 8/27/2010 3:41 AM, Michael Albinus wrote:
> Ken Brown<kbrown AT cornell DOT edu>  writes:
>
>>> This is also a D-Bus client, which connects to the *same* session bus as
>>> Emacs did due to $DBUS_SESSION_BUS_ADDRESS. Now you should see the
>>> signal sent by dbus-monitor in Emacs.
>>
>> OK, I started the session bus the right way this time, but I still
>> didn't see any signal from dbus-monitor in Emacs.  I assume I should
>> have seen something in the echo area?
>
> Yes. You could test whether both Emacs and dbus-monitor use the same bus
> by reordering the calls:
>
> - apply dbus-launch as described
> - echo $DBUS_SESSION_BUS_ADDRESS
> - in *another* shell, set $DBUS_SESSION_BUS_ADDRESS to this value, and
>    start dbus-monitor
> - start Emacs in the first shell, and load dbus.el. You shall see in
>    the other shell output from  dbus-monitor, telling that an application
>    has started. It will also tell you the name of that application, like
>    ":1.2".

This doesn't happen.  Is it possible that dbus.el doesn't complete its 
initialization because the system bus isn't running?  (Keep in mind that 
I can't do *anything* with dbus in Emacs unless I load dbus.el before 
starting the system bus.)  I note that when I use the version of Emacs 
built with MYCPPFLAGS='-DDBUS_DEBUG', loading dbus.el results in the 
following error message in the echo area:

D-Bus error: "Failed to connect to socket 
/var/run/dbus/system_bus_socket: Interrupted system call"

> - apply (dbus-get-unique-name :session) in Emacs. The result shall be
>    the same name.
> - start dbus-monitor in the same shell as Emacs. In the other
>    dbus-monitor, you should be notified, that an application has been started.
>
>>> Maybe you can compile dbusbind.c with the compiler flag DBUS_DEBUG,
>>> something like this in the Emacs source tree:
>>>
>>> # MYCPPFLAGS='-DDBUS_DEBUG' make
>>>
>>> This enables test traces sent to Emacs' stdout (the shell where you have
>>> started it). I've introduced this flag while testing dbusbind.c, when it
>>> has blocked Emacs, and I didn't want to start gdb ...
>>>
>>> Maybe I can see something suspicious in the traces.
>>
>> There's very little there.  It prints the two lines
>>
>>    xd_add_watch: fd 8
>>    xd_add_watch: fd 9
>>
>> and no more.  Does this tell you anything?
>
> It's the initialization phase. Two watch functions are installed on file
> descriptors 8 and 9 (connected to the system and session buses), polling
> for incoming messages in Emacs' mainloop.
>
> When you call dbus-get-unique-name, there shall be more output. But this
> works, as you have confirmed, so this is not the interesting case.
>
> I've hoped to see more :-( Did you play with the running/non-running
> system bus?

Yes, the traces above were produced when starting Emacs with the system 
bus running.  I'm stuck at that point and can't do anything to produce 
more traces.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019