Subject: Re: bug#10669: More debugging

From: Michael Welsh Duggan <[email-masked]>
Date: Sun, 05 Feb 2012 16:38:49 -0500

Michael Welsh Duggan <[email-masked]> writes:

> Okay.  Here's what the infinite loop actually is:
>
> The C function 'command_loop' calls 'top_level_1', which eventually
> evals 'top-level', which is 'normal-top-level'.  'normal-top-level'
> notes that 'command-line-processed' is t, calls (message "Back to top
> level."), and then returns.
>
> Back to 'command_loop, which then calls 'command_loop_2', which calls
> command_loop_1', which calls 'read_key_sequence', which calls
> 'read_char'.
>
> 'read_char' eventually calls 'kbd_buffer_get_event' at keyboard.c:2797.
> This ends up calling getchar(), since we are running as a daemon
> (keyboard.c:3796).  This getchar() returns -1.  'read_char' returns this
> -1.

So, at this point, daemon_pipe[] == {3, 4}.  It looks to me that
'daemon-initialized' isn't being called by 'command-line'.  This may be
due to the --eval "(server-start)"?  I think I may need some help
debugging further than this.

-- 
Michael Welsh Duggan
([email-masked])