int console_init() { int fd; /* Clean up */ ioctl(0, TIOCNOTTY, 0); close(0); close(1); close(2); setsid(); /* Reopen console */ if ((fd = open(_PATH_CONSOLE, O_RDWR)) < 0) { /* Avoid debug messages is redirected to socket packet if no exist a UART chip, added by honor, 2003-12-04 */ (void) open("/dev/null", O_RDONLY); (void) open("/dev/null", O_WRONLY); (void) open("/dev/null", O_WRONLY); perror(_PATH_CONSOLE); return errno; } dup2(fd, 0); dup2(fd, 1); dup2(fd, 2); ioctl(0, TIOCSCTTY, 1); tcsetpgrp(0, getpgrp()); set_term(0); return 0; }