From: Crossover L. <cro...@gm...> - 2010-01-21 00:51:01
|
For your convenience, I just made to patches against the signle file, not the whole directory. solution 1======================= --- hugeshmget01.c 2009-11-20 00:05:21.000000000 +0800 +++ hugeshmget01_2.c 2010-01-21 08:43:11.790533086 +0800 @@ -78,14 +78,14 @@ tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg); } - setup(); /* global setup */ - /* The following loop checks looping state if -i option given */ if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 ) tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system"); else huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ; + setup(); /* global setup */ + for (lc = 0; TEST_LOOPING(lc); lc++) { /* reset Tst_count in case we are looping */ Tst_count = 0; solution 2============================== --- hugeshmget01.c 2009-11-20 00:05:21.000000000 +0800 +++ hugeshmget01_1.c 2010-01-21 08:41:56.350057513 +0800 @@ -160,7 +160,7 @@ setup(void) { /* capture signals */ - tst_sig(NOFORK, DEF_HANDLER, cleanup); + tst_sig(FORK, DEF_HANDLER, cleanup); /* Pause if that option was specified */ TEST_PAUSE; 2010/1/21 Crossover Lonely <cro...@gm...> > Hi all, > > When the hugeshmget01 runs, it gets unexpected signal SIGCHLD/SIGCLD, > and thus stops immediately. > I found two ways to resolve this problem. Please refer to the > following for two kinds of patch. > Well, according to other code structures of hugeshmget0*.c, solution 1 > is preferred. But for get_no_of_hugepages > will call popen(), so I think the second solution is the right one. > Will you please choose the right one to apply to > ltp-intermediate-20100119 package? > Looking forward to your confirmation! > > Thanks and Best Regards, > shenghui > > Solution 1=============================================================== > > diff -Nur > ltp-intermediate-20100119-origin/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > ltp-intermediate-20100119/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > --- > ltp-intermediate-20100119-origin/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > 2010-01-21 07:51:55.926035076 +0800 > +++ > ltp-intermediate-20100119/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > 2010-01-21 08:14:05.470032624 +0800 > @@ -78,14 +78,14 @@ > tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg); > } > > - setup(); /* global setup */ > - > /* The following loop checks looping state if -i option given */ > if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 ) > tst_brkm(TBROK, cleanup, "Test cannot be continued owning to > sufficient availability of Hugepages on the system"); > else > - huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * > hugepages_size() * 1024) / 2 ; > - > + huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * > hugepages_size() * 1024) / 2 ; > + > + setup(); /* global setup */ > + > for (lc = 0; TEST_LOOPING(lc); lc++) { > /* reset Tst_count in case we are looping */ > Tst_count = 0; > > > Solution > 2========================================================================================= > diff -Nur > ltp-intermediate-20100119-origin/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > ltp-intermediate-20100119/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > --- > ltp-intermediate-20100119-origin/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > 2010-01-21 07:51:55.926035076 +0800 > +++ > ltp-intermediate-20100119/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c > 2010-01-21 08:16:46.122032889 +0800 > @@ -160,7 +160,7 @@ > setup(void) > { > /* capture signals */ > - tst_sig(NOFORK, DEF_HANDLER, cleanup); > + tst_sig(FORK, DEF_HANDLER, cleanup); > > /* Pause if that option was specified */ > TEST_PAUSE; > |