bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VMS has struct sched_param in pthread.h


From: Bruno Haible
Subject: Re: VMS has struct sched_param in pthread.h
Date: Mon, 19 Jun 2017 16:59:42 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-79-generic; KDE/5.18.0; x86_64; ; )

John E. Malmberg wrote:
> The configure script is now detecting that struct sched_param is present.
> ...
> Attached is a patch to lib/sched.in.patch

Thanks. Applied with tiny changes: I write "OpenVMS", not "VMS", as
discussed in the other thread. Also, no need to use conditionals based
on __CRTL_VER or HAVE_PTHREAD_H, since you said that only OpenVMS >= 7.3
is interesting and this <pthread.h> exists on VMS since 7.2:
http://h41379.www4.hpe.com/doc/72final/6493/6101pro_029.html
http://h30266.www3.hpe.com/odl/axpos/opsys/vmsos84/6493/6101pro_031.html


2017-06-19  Bruno Haible  <address@hidden>
            John E. Malmberg  <address@hidden>  (tiny change)

        sched: Fix compilation failure on OpenVMS.
        * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
        test whether <pthread.h> exists and defines struct sched_param.
        * lib/sched.in.h: On OpenVMS, include <pthread.h>.

diff --git a/lib/sched.in.h b/lib/sched.in.h
index aa96aed..6b4bde8 100644
--- a/lib/sched.in.h
+++ b/lib/sched.in.h
@@ -39,10 +39,13 @@
 #include <sys/types.h>
 
 #ifdef __KLIBC__
-
-/* On OS/2 kLIBC, struct sched_param is in spawn.h */
+/* On OS/2 kLIBC, struct sched_param is in spawn.h.  */
 # include <spawn.h>
+#endif
 
+#ifdef __VMS
+/* On OpenVMS, struct sched_param is in <pthread.h>.  */
+# include <pthread.h>
 #endif
 
 #if address@hidden@
diff --git a/m4/sched_h.m4 b/m4/sched_h.m4
index fd60a40..213cf68 100644
--- a/m4/sched_h.m4
+++ b/m4/sched_h.m4
@@ -1,4 +1,4 @@
-# sched_h.m4 serial 9
+# sched_h.m4 serial 10
 dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -8,6 +8,7 @@ dnl Written by Bruno Haible.
 
 AC_DEFUN([gl_SCHED_H],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_CHECK_HEADERS_ONCE([sys/cdefs.h])
   AC_COMPILE_IFELSE(
     [AC_LANG_PROGRAM([[
@@ -41,10 +42,20 @@ AC_DEFUN([gl_SCHED_H],
            #include <sched.h>
          ]])
      else
-       dnl On OS/2 kLIBC, struct sched_param is in spawn.h.
-       AC_CHECK_TYPE([struct sched_param],
-         [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
-         [#include <spawn.h>])
+       case "$host_os" in
+         os2*)
+           dnl On OS/2 kLIBC, struct sched_param is in spawn.h.
+           AC_CHECK_TYPE([struct sched_param],
+             [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
+             [#include <spawn.h>])
+           ;;
+         vms)
+           dnl On OpenVMS 7.2 or newer, struct sched_param is in pthread.h.
+           AC_CHECK_TYPE([struct sched_param],
+             [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
+             [#include <pthread.h>])
+           ;;
+       esac
      fi
      AC_SUBST([HAVE_STRUCT_SCHED_PARAM])
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]