From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Brown Newsgroups: gmane.emacs.devel Subject: Re: Reading D-Bus messages Date: Thu, 23 Sep 2010 08:16:46 -0400 Message-ID: <4C9B452E.1040101@cornell.edu> References: <878w2tx6gk.fsf@gmx.de> <4C9A493F.4050701@cornell.edu> <874odhyliu.fsf@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1285244242 9009 80.91.229.12 (23 Sep 2010 12:17:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 23 Sep 2010 12:17:22 +0000 (UTC) Cc: emacs-devel To: Michael Albinus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 23 14:17:21 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Oykjo-0003nE-72 for ged-emacs-devel@m.gmane.org; Thu, 23 Sep 2010 14:17:20 +0200 Original-Received: from localhost ([127.0.0.1]:46346 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oykjn-0000dF-GW for ged-emacs-devel@m.gmane.org; Thu, 23 Sep 2010 08:17:19 -0400 Original-Received: from [140.186.70.92] (port=41622 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oykjc-0000ZL-69 for emacs-devel@gnu.org; Thu, 23 Sep 2010 08:17:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oykja-0006Cc-8I for emacs-devel@gnu.org; Thu, 23 Sep 2010 08:17:08 -0400 Original-Received: from granite1.mail.cornell.edu ([128.253.83.141]:47860 helo=authusersmtp.mail.cornell.edu) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oykja-0006CF-38 for emacs-devel@gnu.org; Thu, 23 Sep 2010 08:17:06 -0400 Original-Received: from [127.0.0.1] (cpe-67-249-196-94.twcny.res.rr.com [67.249.196.94]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id o8NCH3AR029286; Thu, 23 Sep 2010 08:17:03 -0400 (EDT) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3 In-Reply-To: <874odhyliu.fsf@gmx.de> X-Antivirus: avast! (VPS 100922-0, 09/22/2010), Outbound message X-Antivirus-Status: Clean X-detected-operating-system: by eggs.gnu.org: Solaris 9 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:130658 Archived-At: [For the moment I'm leaving out the cygwin list, because I think I see the problem.] On 9/23/2010 3:19 AM, Michael Albinus wrote: > Ken Brown 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? Grepping /usr/include, I see that SIGIO (and FIONREAD) seem to be defined. So I think the trouble must be that these get undefined in the emacs build, perhaps because of the '#undef INTERRUPT_INPUT' in src/s/cygwin.h. I changed it to '#define INTERRUPT_INPUT' and rebuilt, but dbus still didn't work. I'm in the process of bootstrapping right now so I can try again. I don't understand the build process well enough to know whether bootstrapping should be necessary after this change. Ken