return pty->child;
}
-/* it's active when signals are redurected to sigfd */
+/* it's active when signals are redirected to sigfd */
int ul_pty_is_running(struct ul_pty *pty)
{
assert(pty);
case SIGQUIT:
DBG(SIG, ul_debugobj(pty, " get signal SIG{TERM,INT,QUIT}"));
pty->delivered_signal = info.ssi_signo;
- /* Child termination is going to generate SIGCHILD (see above) */
+ /* Child termination is going to generate SIGCHLD (see above) */
if (pty->child > 0)
kill(pty->child, SIGTERM);
[POLLFD_STDIN] = { .fd = STDIN_FILENO, .events = POLLIN | POLLERR | POLLHUP }
};
- /* We use signalfd and standard signals by handlers are blocked
- * at all
- */
+ /* We use signalfd, and standard signals by handlers are completely blocked */
assert(pty->sigfd >= 0);
pfd[POLLFD_SIGNAL].fd = pty->sigfd;
/* data */
if (pfd[i].revents & POLLIN)
rc = handle_io(pty, pfd[i].fd, &eof);
- /* EOF maybe detected by two ways:
+ /* EOF maybe detected in two ways; they are:
* A) poll() return POLLHUP event after close()
* B) read() returns 0 (no data)
*