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). -- Cyril Hrubis [email protected] ------------------------------------------------------------------------------ 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
