Merged revisions 163762 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r163762 | tilghman | 2008-12-12 16:04:26 -0600 (Fri, 12 Dec 2008) | 14 lines
  
  Merged revisions 163761 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r163761 | tilghman | 2008-12-12 16:03:10 -0600 (Fri, 12 Dec 2008) | 7 lines
    
    Simple fix for Ctrl-C not immediately exiting Asterisk, but also add a
    pointer inside editline to look back to asterisk.c, so others don't spend
    as much time as I did looking (in the wrong place) for the appropriate
    function.
    Reported by: ZX81, via the #asterisk-users channel
    Fixed by: me (license 14)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@163763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Tilghman Lesher 17 years ago
parent 32f63eb45e
commit cb692bccde

@ -1912,6 +1912,8 @@ static int ast_el_read_char(EditLine *el, char *cp)
} }
res = poll(fds, max, -1); res = poll(fds, max, -1);
if (res < 0) { if (res < 0) {
if (sig_flags.need_quit)
break;
if (errno == EINTR) if (errno == EINTR)
continue; continue;
ast_log(LOG_ERROR, "poll failed: %s\n", strerror(errno)); ast_log(LOG_ERROR, "poll failed: %s\n", strerror(errno));

@ -286,6 +286,8 @@ read_getcmd(EditLine *el, el_action_t *cmdnum, char *ch)
/* read_char(): /* read_char():
* Read a character from the tty. * Read a character from the tty.
* XXX This routine is the default, but what you are actually looking for
* is in main/asterisk.c, in ast_el_read_char(). XXX
*/ */
private int private int
read_char(EditLine *el, char *cp) read_char(EditLine *el, char *cp)
@ -344,6 +346,7 @@ el_getc(EditLine *el, char *cp)
#ifdef DEBUG_READ #ifdef DEBUG_READ
(void) fprintf(el->el_errfile, "Reading a character\n"); (void) fprintf(el->el_errfile, "Reading a character\n");
#endif /* DEBUG_READ */ #endif /* DEBUG_READ */
/* See main/asterisk.c: ast_el_read_char() */
num_read = (*el->el_read.read_char)(el, cp); num_read = (*el->el_read.read_char)(el, cp);
#ifdef DEBUG_READ #ifdef DEBUG_READ
(void) fprintf(el->el_errfile, "Got it %c\n", *cp); (void) fprintf(el->el_errfile, "Got it %c\n", *cp);

Loading…
Cancel
Save