----- 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

Reply via email to