Subject: Re: Reading D-Bus messages
From: Michael Albinus <[email-masked]>
To: Ken Brown <[email-masked]>
Cc: emacs-devel <[email-masked]>, [email-masked]
Date: Thu, 23 Sep 2010 09:19:37 +0200
List-Id: <cygwin.cygwin.com>

Ken Brown <[email-masked]> writes:

> Hi Michael,

Hi Ken,

>> I do not understand all details of keyboard.c. Is there something I need
>> to set in order to urge the call of xd_read_queued_messages (via
>> gobble_input)? Or do I need to suppress further polling? What is the
>> difference for Emacs running with cygwin, compared with the GNU/Linux case?
>>
>> Btw, when I call xd_read_queued_messages inside xd_pending_messages,
>> everything works fine also with cygwin. But I guess this isn't the
>> correct solution.
>
> I don't know enough to attempt an answer.  Is there any chance you
> could write a small self-contained program that exhibits the problem?
> If so, there's a chance someone on the Cygwin list could help.

The problem seems to be how gobble_input is called in kbd_buffer_get_event
(keyboard.c):

/* Note SIGIO has been undef'd if FIONREAD is missing.  */
#ifdef SIGIO
      gobble_input (0);
#endif /* SIGIO */

SIGIO is undefined, and gobble_input is not called under cygwin
therefore. If I remove this conditional directive, D-Bus connections in
Emacs work fine! What is the reason, that SIGIO is undefined under cygwin?

> Ken

Best regards, Michael.

--
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