On Wed, Mar 03, 2010 at 11:30:42AM +0530, naresh kamboju wrote: > On Wed, Mar 3, 2010 at 10:26 AM, Rishikesh K Rajak > <[email protected]> wrote: > > On Tue, Mar 02, 2010 at 08:38:20PM +0530, naresh kamboju wrote: > >> On Tue, Mar 2, 2010 at 2:20 PM, Rishikesh K Rajak > >> <[email protected]> wrote: > >> > I feel before getting semaphore value, we need to sync first so here > >> > sleep is require,though your point is valid that there is no use of > >> > using sleep inside while loop. > >> I agree with you. > >> AFAIU, we should call sleep() before calling getting semaphore > >> value.when we don't have while loop here. Because while loop condition > >> is depends on val so when ever we call sem_getvalue() it will get > >> latest value of val. > >> In addition to this, we are ensuring val is decremented before we do > >> unlock the sem by while loop condition. > >> > >> Having sleep() in while loop will not effect the final output. IIUC > >> > > > > Hi Naresh, > > > > I am not able to apply your patch against ltp next branch. can you > > please send me patch against next branch of ltp ? > Here I have posted and attached to this e-mail.
Apllied to next branch . Thanks for your patch, i will test in production environment, if it is not creating any regression will merge with master branch and it will available to next month release. Thanks -Rishi > > Signed-off-by: Naresh Kamboju < [email protected] > > > --- > testcases/open_posix_testsuite/conformance/interfaces/sem_post/8-1.c > | 15 8 + 7 - 0 ! > 1 file changed, 8 insertions(+), 7 deletions(-) > > Index: b/testcases/open_posix_testsuite/conformance/interfaces/sem_post/8-1.c > =================================================================== > --- a/testcases/open_posix_testsuite/conformance/interfaces/sem_post/8-1.c > +++ b/testcases/open_posix_testsuite/conformance/interfaces/sem_post/8-1.c > @@ -161,7 +161,6 @@ int main() > } > fprintf(stderr, "P: child_1:%d forked\n", c_1); > > - sleep(1); > c_2 = fork(); > if (c_2 == 0) > { > @@ -176,13 +175,13 @@ int main() > } > fprintf(stderr, "P: child_2: %d forked\n", c_2); > > + /* Step 3 Implementation */ > /* Make sure the two children has been waiting */ > - /*do { > - sleep(1); > + do { > sem_getvalue(sem_1, &val); > //printf("val = %d\n", val); > } while (val != 1); > - */ > + > c_3 = fork(); > if (c_3 == 0) > { > @@ -191,13 +190,15 @@ int main() > } > fprintf(stderr, "P: child_3: %d forked\n", c_3); > > + /* Step 3 Implementation */ > /* Make sure child 3 has been waiting for the lock */ > - /*do { > - sleep(1); > + do { > sem_getvalue(sem_1, &val); > //printf("val = %d\n", val); > } while (val != 0); > - */ > + > + /* Synchronization required before release the lock */ > + sleep(1); > /* Ok, let's release the lock */ > fprintf(stderr, "P: release lock\n"); > sem_post(sem); > > Best regards > Naresh Kamboju > > > > #git clone -b next > > git://ltp.git.sourceforge.net/gitroot/ltp/ltp-dev.git ltp > > > > And then create your patch and send it to ltp-list@ > > > > -- > > Thanks & Regards > > Rishi > > LTP Maintainer > > IBM, LTC, Bangalore > > Please join IRC #ltp @ irc.freenode.net > > -- Thanks & Regards Rishi LTP Maintainer IBM, LTC, Bangalore Please join IRC #ltp @ irc.freenode.net ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
