Ok. Merged. Regards-- Subrata
On Mon, 2010-08-16 at 08:52 -0700, Garrett Cooper wrote: > On Mon, Aug 16, 2010 at 7:21 AM, Subrata Modak > <[email protected]> wrote: > > On Mon, 2010-08-16 at 17:05 +0530, Harsh Prateek Bora wrote: > >> Current testcase for setrlimit resource RLIMIT_FSIZE > >> is using a global integer variable to communicate the number of > >> bytes from child to parent which is incorrect. This > >> has been corrected by introducing a pipe to transfer > >> this information from child to parent process. > >> > >> Signed-off-by: Harsh Prateek Bora <[email protected]> > >> --- > >> testcases/kernel/syscalls/setrlimit/setrlimit01.c | 15 +++++++++++++++ > >> 1 files changed, 15 insertions(+), 0 deletions(-) > >> > >> diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit01.c > >> b/testcases/kernel/syscalls/setrlimit/setrlimit01.c > >> index 6952eb3..2bb1e9d 100644 > >> --- a/testcases/kernel/syscalls/setrlimit/setrlimit01.c > >> +++ b/testcases/kernel/syscalls/setrlimit/setrlimit01.c > >> @@ -156,7 +156,11 @@ void test2() > >> * an wired value! So, it is essential to fflush the parent's > >> * write buffer HERE > >> */ > >> + int pipefd[2]; > >> fflush(stdout); > >> + if (pipe(pipefd) == -1) { > >> + tst_brkm(TBROK | TERRNO, NULL, "pipe creation failed"); > >> + } > >> > >> /* > >> * Spawn a child process, and reduce the filesize to > >> @@ -170,6 +174,7 @@ void test2() > >> } > >> > >> if (pid == 0) { > >> + close(pipefd[0]); /* close unused read end */ > >> rlim.rlim_cur = 10; > >> rlim.rlim_max = 10; > >> if ((setrlimit(RLIMIT_FSIZE, &rlim)) == -1) { > >> @@ -181,6 +186,11 @@ void test2() > >> } > >> > >> if ((bytes = write(fd, buf, 26)) != 10) { > >> + if (write(pipefd[1], &bytes, sizeof(bytes)) > >> + < sizeof(bytes)) { > >> + perror("child: write to pipe failed"); > > > > You still uses perror() here. Use tst_resm() instead. > > This patch is actually ok. If you look at the test in context (as > Harsh pointed out), the perror(3) call was within a forked process, > and that's fine. It's the other areas that need to be tst_resm(3) > calls because they're in the parent process and actually affect the > final outcome of the test, and provide a uniform means of reporting. > > Thanks, > -Garrett ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
