From: Rishikesh K Rajak <risrajak@linux.vnet.ibm.com>
To: naresh kamboju <naresh.kernel@gmail.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] Synchronization required before release the lock: sem_post/8-1.c
Date: Wed, 3 Mar 2010 12:33:42 +0530 [thread overview]
Message-ID: <20100303070342.GB19084@linux.vnet.ibm.com> (raw)
In-Reply-To: <f5a7b3811003022200r32a0e108g8eaf5d9a2ce66b4a@mail.gmail.com>
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
> <risrajak@linux.vnet.ibm.com> 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
> >> <risrajak@linux.vnet.ibm.com> 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 < naresh.kernel@gmail.com >
>
> ---
> 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
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2010-03-03 7:04 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-25 13:45 [LTP] [PATCH] Synchronization required before release the lock: sem_post/8-1.c naresh kamboju
2010-02-25 13:45 ` naresh kamboju
2010-03-02 8:50 ` [LTP] " Rishikesh K Rajak
2010-03-02 8:50 ` Rishikesh K Rajak
2010-03-02 15:08 ` naresh kamboju
2010-03-02 15:08 ` naresh kamboju
[not found] ` <20100303045624.GB10185@linux.vnet.ibm.com>
2010-03-03 6:00 ` naresh kamboju
2010-03-03 6:00 ` naresh kamboju
2010-03-03 7:03 ` Rishikesh K Rajak [this message]
2010-03-03 9:18 ` Garrett Cooper
2010-03-03 9:45 ` Rishikesh K Rajak
2010-03-03 11:33 ` naresh kamboju
2010-03-03 11:42 ` Garrett Cooper
2010-03-03 11:49 ` naresh kamboju
2010-03-03 11:55 ` Garrett Cooper
2010-03-03 13:45 ` naresh kamboju
2010-03-08 10:57 ` naresh kamboju
2010-03-22 8:25 ` Rishikesh K Rajak
2010-03-22 15:20 ` naresh kamboju
2010-03-22 18:50 ` naresh kamboju
2010-03-23 4:39 ` Rishikesh K Rajak
2010-03-23 8:04 ` naresh kamboju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100303070342.GB19084@linux.vnet.ibm.com \
--to=risrajak@linux.vnet.ibm.com \
--cc=ltp-list@lists.sourceforge.net \
--cc=naresh.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.