Jan, In testpi-6.c at line 77, the do_test() function attempts to set the following mutex protocol:
if (pthread_mutexattr_setrobust_np(&mutexattr, PTHREAD_MUTEX_ROBUST_NP) != 0) printf("Can't set robust mutex\n"); The test in general appears to check how cleanly the robust mutex implementation handles attempts to acquire the mutex recursively. Since the mutex is NOT initialized as a recursive type, the recursive locking attempt is expected to fail in order for the test to pass. I agree that I don't see how the ROBUST attribute comes into play here, but this is the way the test was written and my patch just allows it to compile cleanly. Gary On Fri, Oct 24, 2014 at 6:58 AM, Jan Stancek <jstan...@redhat.com> wrote: > > > > > ----- Original Message ----- > > From: "Gary S. Robertson" <gary.robert...@linaro.org> > > To: ltp-list@lists.sourceforge.net > > Cc: "mike holmes" <mike.hol...@linaro.org> > > Sent: Tuesday, 30 September, 2014 11:17:32 PM > > Subject: [LTP] [PATCH] Realtime tests: Fix robust mutex conditionals > > > > From: "Gary S. Robertson" <gary.robert...@linaro.org> > > > > sbrk_mutex, testpi-5, and testpi-6 realtime tests in subdir > > testcases/realtime/func/pi-tests used compile time config variables > > which were not generated by autoconf in order to configure tests > > for robust mutexes. Changed these conditionals to use the config > > variables actually generated in the autoconf process. > > > > Signed-off-by: Gary S. Robertson <gary.robert...@linaro.org> > > --- > > testcases/realtime/func/pi-tests/sbrk_mutex.c | 2 +- > > testcases/realtime/func/pi-tests/testpi-5.c | 2 +- > > testcases/realtime/func/pi-tests/testpi-6.c | 2 +- > > 3 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/testcases/realtime/func/pi-tests/sbrk_mutex.c > > b/testcases/realtime/func/pi-tests/sbrk_mutex.c > > index 684021f..5c325b4 100644 > > --- a/testcases/realtime/func/pi-tests/sbrk_mutex.c > > +++ b/testcases/realtime/func/pi-tests/sbrk_mutex.c > > @@ -45,7 +45,7 @@ > > #include <unistd.h> > > #include "librttest.h" > > > > -#if defined(HAS_PTHREAD_MUTEXTATTR_ROBUST_APIS) && > > defined(PTHREAD_MUTEX_ROBUST_NP) > > +#if HAS_PTHREAD_MUTEXTATTR_ROBUST_APIS > > > > #define NUM_MUTEXES 5000 > > #define NUM_THREADS 50 > > diff --git a/testcases/realtime/func/pi-tests/testpi-5.c > > b/testcases/realtime/func/pi-tests/testpi-5.c > > index a1d93cc..70f02fd 100644 > > --- a/testcases/realtime/func/pi-tests/testpi-5.c > > +++ b/testcases/realtime/func/pi-tests/testpi-5.c > > @@ -69,7 +69,7 @@ int do_test(int argc, char **argv) > > pthread_mutexattr_t mutexattr; > > int retc, protocol; > > > > -#if HAS_PTHREAD_MUTEXATTR_PROTOCOL_FUNCTIONS > > +#if HAS_PTHREAD_MUTEXTATTR_ROBUST_APIS > > Shouldn't this one be "HAS_PRIORITY_INHERIT"? I'm looking at the > testcase, but I can't see any robust API being used. > > Regards, > Jan > > > > > if (pthread_mutexattr_init(&mutexattr) != 0) > > printf("Failed to init mutexattr\n"); > > diff --git a/testcases/realtime/func/pi-tests/testpi-6.c > > b/testcases/realtime/func/pi-tests/testpi-6.c > > index b3c3e4a..f715eee 100644 > > --- a/testcases/realtime/func/pi-tests/testpi-6.c > > +++ b/testcases/realtime/func/pi-tests/testpi-6.c > > @@ -41,7 +41,7 @@ > > #include <unistd.h> > > #include <librttest.h> > > > > -#if defined(PTHREAD_MUTEX_ROBUST_NP) > > +#if HAS_PTHREAD_MUTEXTATTR_ROBUST_APIS > > pthread_mutex_t child_mutex; > > > > void *child_thread(void *arg) > > -- > > 1.7.9.5 > > > > > > > ------------------------------------------------------------------------------ > > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > > > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk > > _______________________________________________ > > Ltp-list mailing list > > Ltp-list@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/ltp-list > > >
------------------------------------------------------------------------------
_______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list