]> git.ipfire.org Git - thirdparty/gcc.git/commit
adaint.c (__gnat_pthread_setaffinity_np): New routine.
authorPascal Obry <obry@adacore.com>
Thu, 13 Dec 2007 10:18:44 +0000 (11:18 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 13 Dec 2007 10:18:44 +0000 (11:18 +0100)
commitb41ab480565d08ba5535f219e9f607e15d9c47e0
treeaab7a215c62fc85b658d90381374889f961afcaa
parentaa4095c911de99a3f5bec44da96299ec8945f88a
adaint.c (__gnat_pthread_setaffinity_np): New routine.

2007-12-06  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
 version is provided for older GNU/Linux distribution not
 supporting thread affinity sets.

* s-osinte-linux.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.

* s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
no null.
(Create_Task): Set the processor affinity mask if information
is present.

* s-tasinf-linux.ads, s-tasinf-linux.adb: New files.

From-SVN: r130812
gcc/ada/adaint.c
gcc/ada/s-osinte-linux.ads
gcc/ada/s-taprop-linux.adb
gcc/ada/s-tasinf-linux.adb [new file with mode: 0644]
gcc/ada/s-tasinf-linux.ads [new file with mode: 0644]