----- 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, 29 July, 2014 12:33:44 AM > Subject: [LTP] [PATCH] Allow mutex initialization without PI configured > > From: "Gary S. Robertson" <gary.robert...@linaro.org> > > LTP seems primarily intended to be built and run on the same machine, > and thus uses autotools / autoconf to determine the features of the host > machine's environment prior to compilation. However, when distributing > precompiled binaries, or when building in a cross-compilation environment, > it is better not to disable features based on the compile-time environment.
Isn't the build going to fail then if you miss those features? > This patch removes compile-time dependencies on priority-inheriting mutexes Seems to me, the problem is: -#if HAVE_DECL_PTHREAD_PRIO_INHERIT +#if HAS_PRIORITY_INHERIT I'm not against removing that check entirely. I'm not sure anyone is using distro so old it's missing it. We also don't check for it in openposix testsuite. > and allows the code to attempt initialization of PI mutexes even > if the runtime environment lacks that feature... in which case > the associated test(s) should fail. > > Without this patch, init_pi_mutex() may be compiled as an empty function, > allowing subsequent operations to be attempted on an un-inititalized mutex. > Likewise, testpi-3 may fail to initialize a mutex before starting pthreads > which attempt to use the mutex. Then it shouldn't run at all and end with TCONF. > > Signed-off-by: Gary S. Robertson <gary.robert...@linaro.org> > --- > testcases/realtime/lib/librttest.c | 2 -- > testcases/realtime/stress/pi-tests/testpi-3.c | 2 -- > 2 files changed, 4 deletions(-) > > diff --git a/testcases/realtime/lib/librttest.c > b/testcases/realtime/lib/librttest.c > index 0dd6019..9f37d08 100644 > --- a/testcases/realtime/lib/librttest.c > +++ b/testcases/realtime/lib/librttest.c > @@ -586,7 +586,6 @@ void *busy_work_us(int us) > > void init_pi_mutex(pthread_mutex_t * m) > { > -#if HAVE_DECL_PTHREAD_PRIO_INHERIT > pthread_mutexattr_t attr; > int ret; > int protocol; > @@ -609,7 +608,6 @@ void init_pi_mutex(pthread_mutex_t * m) > if ((ret = pthread_mutex_init(m, &attr)) != 0) { > printf("Failed to init mutex: %d (%s)\n", ret, strerror(ret)); > } > -#endif1G ^^ There's extra "1G" here Regards, Jan > > /* FIXME: does any of this need to be destroyed ? */ > } > diff --git a/testcases/realtime/stress/pi-tests/testpi-3.c > b/testcases/realtime/stress/pi-tests/testpi-3.c > index 30f38f6..807c9cc 100644 > --- a/testcases/realtime/stress/pi-tests/testpi-3.c > +++ b/testcases/realtime/stress/pi-tests/testpi-3.c > @@ -365,7 +365,6 @@ int main(int argc, char *argv[]) > > printf("Start %s\n", argv[0]); > > -#if HAVE_DECL_PTHREAD_PRIO_INHERIT > if (!nopi) { > pthread_mutexattr_t mutexattr; > int protocol; > @@ -386,7 +385,6 @@ int main(int argc, char *argv[]) > printf("Failed to init mutex: %d\n", retc); > } > } > -#endif > > startThread(&arg1); > startThread(&arg2); > -- > 1.7.9.5 > > > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > Ltp-list mailing list > Ltp-list@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ltp-list > ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list