[stgt] [PATCH v2] redirect: protect again tgtd process hang as of cluster software hang
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Mon Mar 21 12:07:17 CET 2011
On Mon, 21 Mar 2011 12:50:28 +0200
Or Gerlitz <ogerlitz at mellanox.com> wrote:
> >> + do {
> [...]
> >> + ret_sel = select(fds[0]+1, &rfds, NULL, NULL, &tv);
> >> + } while (ret_sel < 0 && errno == EINTR);
> >> + if (ret_sel <= 0) { /* error or timeout */
> >> + eprintf("timeout on redirect callback, \
> >> + terminating child pid %d\n", pid);
> >> + kill(pid, SIGTERM);
> >> + }
>
> > Why this is necessary before waitpid()?
> > I thought that we need to make sure that fds[0] is readable (with
> > a timeout) before calling read() for fds[0].
>
> if the timeout expires and fds[0] isn't readable, we don't want to wait
> to the child process anymore, so we must terminate it - else we could
> hang on waitpid forever, something we wanted to avoid in the first place.
I see, thanks.
I need some style fixes:
fujita at rose:~/git/tgt$ ./scripts/checkpatch.pl ~/Mail/kernel/stgt/2782
ERROR: need space after that ',' (ctx:VxO)
#88: FILE: usr/tgtd.c:330:
+ FD_SET(fds[0],&rfds);
^
ERROR: need space before that '&' (ctx:OxV)
#88: FILE: usr/tgtd.c:330:
+ FD_SET(fds[0],&rfds);
^
WARNING: line over 80 characters
#113: FILE: usr/tgtd.c:351:
+ eprintf("failed to get the output from: %s\n", cmd);
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Please resend the fixed version.
Thanks,
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list