On 2012年02月17日 02:41, Cyril Hrubis wrote: > Hi! >> Child process sends the last signal before parent process enter the >> final sleep sometimes, so sleep in parent will not be interrupted then >> the case fails. >> Sleep 1 second before send the last signal in child to make sure parent >> enter the final sleep. >> >> Signed-off-by: Kang Kai<[email protected]> >> --- >> .../conformance/interfaces/mq_timedsend/5-1.c | 5 ++++- >> 1 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git >> a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedsend/5-1.c >> b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedsend/5-1.c >> index 96daf72..77fe2e0 100644 >> --- >> a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedsend/5-1.c >> +++ >> b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedsend/5-1.c >> @@ -82,6 +82,9 @@ int main() >> sleep(1); // give parent time to set up handler >> for (i=0; i<MAXMSG+1; i++) { >> mq_timedsend(gqueue, msgptr, strlen(msgptr), 1,&ts); >> + /* make sure parent enter the final sleep */ >> + if (i == MAXMSG) >> + sleep(1); >> /* send signal to parent each time message is sent */ >> kill(getppid(), SIGABRT); >> } >> @@ -138,4 +141,4 @@ int main() >> } >> >> return PTS_UNRESOLVED; >> -} >> \ No newline at end of file >> +} > Okay, I think I see the possible race condition between the mq_recieve() > in parent and the mq_timedsend() in the the child. > > Commited, thanks (and sorry for the delay).
That's all right. Thanks. Kai > ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
