bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#5723: 23.1.94; make-network-process and emacs hangs


From: YAMAMOTO Mitsuharu
Subject: bug#5723: 23.1.94; make-network-process and emacs hangs
Date: Thu, 18 Mar 2010 10:57:17 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Wed, 17 Mar 2010 12:01:16 +0000, Leo <sdl.web@gmail.com> said:

>> I guess OP's case is about `connect' rather than `getaddrinfo'.
>> 
>> http://lists.gnu.org/archive/html/emacs-devel/2009-08/msg00148.html
>> 
>> Leo, can you check where it blocks (using GDB), and whether giving
>> --without-sync-input as a configure option changes the situation
>> (using the X11 build, preferably)?

> With this option and build emacs with X11, I can't start the gui
> version, getting this error:

> Xlib: unexpected async reply (sequence 0x5c)!

> Starting emacs with emacs -nw I can quit with C-g nicely.

> I have no luck with --with-mac, C-g still can not stop the process.

The Carbon port and its descendants use polling with SIGALRM to check
whether C-g is pressed.  The systems without SIGIO (such as Solaris 8)
work similarly even with X11.  If your case blocks at `connect', then
it can't be quit with C-g regardless of SYNC_INPUT on those
ports/systems, because atimer is turned off during the `connect' call.

      immediate_quit = 1;
      QUIT;

      /* This turns off all alarm-based interrupts; the
         bind_polling_period call above doesn't always turn all the
         short-interval ones off, especially if interrupt_input is
         set.

         It'd be nice to be able to control the connect timeout
         though.  Would non-blocking connect calls be portable?

         This used to be conditioned by HAVE_GETADDRINFO.  Why?  */

      turn_on_atimers (0);

      ret = connect (s, lres->ai_addr, lres->ai_addrlen);
      xerrno = errno;

      turn_on_atimers (1);

Again, could you check if it actually blocks at `connect', using GDB?

                                     YAMAMOTO Mitsuharu
                                mituharu@math.s.chiba-u.ac.jp






reply via email to

[Prev in Thread] Current Thread [Next in Thread]