Minor patch for improving console response with asterisk -r (bug #183)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1817 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
72a198dfa8
commit
22f776a8e1
11
asterisk.c
11
asterisk.c
|
@ -167,6 +167,7 @@ static void *netconsole(void *vconsole)
|
|||
int res;
|
||||
int max;
|
||||
fd_set rfds;
|
||||
struct timeval tv;
|
||||
|
||||
if (gethostname(hostname, sizeof(hostname)))
|
||||
strncpy(hostname, "<Unknown>", sizeof(hostname)-1);
|
||||
|
@ -179,11 +180,17 @@ static void *netconsole(void *vconsole)
|
|||
max = con->fd;
|
||||
if (con->p[0] > max)
|
||||
max = con->p[0];
|
||||
res = ast_select(max + 1, &rfds, NULL, NULL, NULL);
|
||||
tv.tv_sec = 4; /* Wait max 4 sec for fds to become active */
|
||||
tv.tv_usec = 0;
|
||||
res = ast_select(max + 1, &rfds, NULL, NULL, &tv);
|
||||
if (res < 0) {
|
||||
ast_log(LOG_WARNING, "select returned < 0: %s\n", strerror(errno));
|
||||
continue;
|
||||
}
|
||||
if (res == 0) {
|
||||
ast_log(LOG_WARNING, "Timeout on select.\n");
|
||||
break;
|
||||
}
|
||||
if (FD_ISSET(con->fd, &rfds)) {
|
||||
res = read(con->fd, tmp, sizeof(tmp));
|
||||
if (res < 1) {
|
||||
|
@ -794,7 +801,7 @@ static int ast_el_read_char(EditLine *el, char *cp)
|
|||
if (!option_exec && !lastpos)
|
||||
write(STDOUT_FILENO, "\r", 1);
|
||||
write(STDOUT_FILENO, buf, res);
|
||||
if ((buf[res-1] == '\n') || (buf[res-2] == '\n')) {
|
||||
if ((buf[res-1] == '\n') && (buf[res-2] == '\n')) {
|
||||
*cp = CC_REFRESH;
|
||||
return(1);
|
||||
} else {
|
||||
|
|
Reference in New Issue