summaryrefslogtreecommitdiff
path: root/gcc/ada/s-osinte-solaris-posix.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 17:45:11 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 17:45:11 +0000
commit4503aa6e08e282190851174dcb3ebbb90d509d85 (patch)
tree2abe81e1eeecf6b4534b5efbc0cf38263b6afcac /gcc/ada/s-osinte-solaris-posix.ads
parentd68c9dadbe2c8fda2039b574af7201427c09a77e (diff)
downloadgcc-4503aa6e08e282190851174dcb3ebbb90d509d85.tar.gz
2006-10-31 Arnaud Charlet <charlet@adacore.com>
Jose Ruiz <ruiz@adacore.com> * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads, s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from System.Any_Priority to a POSIX priority on the target. * system-linux-ia64.ads: Extend range of Priority types on Linux to use the whole range made available by the system. * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New function maps from System.Any_Priority to a POSIX priority on the target. (PTHREAD_PRIO_PROTECT): Set real value. (PTHREAD_PRIO_INHERIT): Now a function. (SIGCPUFAIL): New signal. (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals are documented as reserved by the OS. * system-aix.ads: Use the full range of priorities provided by the system on AIX. * s-taprop-posix.adb: Call new function To_Target_Priority. (Set_Priority): Take into account Task_Dispatching_Policy and Priority_Specific_Dispatching pragmas when determining if Round Robin must be used for scheduling the task. * system-linux-x86_64.ads, system-linux-x86.ads, system-linux-ppc.ads: Extend range of Priority types on Linux to use the whole range made available by the system. * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb, s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache when deallocating the TCB in order to avoid potential references to deallocated data. (Set_Priority): Take into account Task_Dispatching_Policy and Priority_Specific_Dispatching pragmas when determining if Round Robin or FIFO within priorities must be used for scheduling the task. * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in the Thread field (to be used internally by the run-time system) and the kernel-level task id in the LWP field (to be used by the debugger). (Create_Task): Reorganize to unify the calls to taskSpawn into a single instance, and propagate the current task options to the spawned task. (Set_Priority): Take into account Priority_Specific_Dispatching pragmas. (Initialize): Set Round Robin dispatching when the corresponding pragma is in effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118235 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-osinte-solaris-posix.ads')
-rw-r--r--gcc/ada/s-osinte-solaris-posix.ads12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ada/s-osinte-solaris-posix.ads b/gcc/ada/s-osinte-solaris-posix.ads
index b3c4be2452b..ce4f7524b92 100644
--- a/gcc/ada/s-osinte-solaris-posix.ads
+++ b/gcc/ada/s-osinte-solaris-posix.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- --
-- Copyright (C) 1991-1994, Florida State University --
--- Copyright (C) 1995-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2006, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -49,6 +49,10 @@ package System.OS_Interface is
pragma Linker_Options ("-lposix4");
pragma Linker_Options ("-lpthread");
+ -- The following is needed to allow --enable-threads=solaris
+
+ pragma Linker_Options ("-lthread");
+
subtype int is Interfaces.C.int;
subtype short is Interfaces.C.short;
subtype long is Interfaces.C.long;
@@ -214,6 +218,10 @@ package System.OS_Interface is
SCHED_RR : constant := 2;
SCHED_OTHER : constant := 0;
+ function To_Target_Priority
+ (Prio : System.Any_Priority) return Interfaces.C.int;
+ -- Maps System.Any_Priority to a POSIX priority.
+
-------------
-- Process --
-------------
@@ -260,7 +268,7 @@ package System.OS_Interface is
-----------
Stack_Base_Available : constant Boolean := False;
- -- Indicates wether the stack base is available on this target.
+ -- Indicates whether the stack base is available on this target.
function Get_Stack_Base (thread : pthread_t) return Address;
pragma Inline (Get_Stack_Base);