+2008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
+
+ PR ada/34466
+ * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
+ sysconf call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+
2008-01-03 Tero Koskinen <tero.koskinen@iki.fi>
PR ada/34647
pragma Import (C, sysconf);
SC_CLK_TCK : constant := 2;
+ SC_NPROCESSORS_ONLN : constant := 84;
-------------------------
-- Priority Scheduling --
destructor : destructor_pointer) return int;
pragma Import (C, pthread_key_create, "pthread_key_create");
+ CPU_SETSIZE : constant := 1_024;
+
+ type bit_field is array (1 .. CPU_SETSIZE) of Boolean;
+ for bit_field'Size use CPU_SETSIZE;
+ pragma Pack (bit_field);
+ pragma Convention (C, bit_field);
+
+ type cpu_set_t is record
+ bits : bit_field;
+ end record;
+ pragma Convention (C, cpu_set_t);
+
+ function pthread_setaffinity_np
+ (thread : pthread_t;
+ cpusetsize : size_t;
+ cpuset : access cpu_set_t) return int;
+ pragma Import (C, pthread_setaffinity_np, "__gnat_pthread_setaffinity_np");
+
private
type sigset_t is array (0 .. 31) of unsigned_long;