version 1.5, 1997/06/23 22:21:45 |
version 1.6, 2001/09/04 23:35:59 |
|
|
{ |
{ |
register struct cmdtab *p; |
register struct cmdtab *p; |
register char *cp; |
register char *cp; |
int interval, omask; |
int interval; |
|
sigset_t mask, omask; |
|
|
omask = sigblock(sigmask(SIGALRM)); |
sigemptyset(&mask); |
|
sigaddset(&mask, SIGALRM); |
|
sigprocmask(SIG_BLOCK, &mask, &omask); |
for (cp = cmd; *cp && !isspace(*cp); cp++) |
for (cp = cmd; *cp && !isspace(*cp); cp++) |
; |
; |
if (*cp) |
if (*cp) |
|
|
if (curcmd->c_cmd == 0 || !(*curcmd->c_cmd)(cmd, cp)) |
if (curcmd->c_cmd == 0 || !(*curcmd->c_cmd)(cmd, cp)) |
error("%s: Unknown command.", cmd); |
error("%s: Unknown command.", cmd); |
done: |
done: |
sigsetmask(omask); |
sigprocmask(SIG_SETMASK, &omask, NULL); |
} |
} |
|
|
struct cmdtab * |
struct cmdtab * |