summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/tasks.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2001-09-14 Fernando Ruiz <fernando.ruiz@ctv.es>Joel Sherrill2001-09-211-1/+1
| | | | * src/tasks.c: Dereference pointer passed to destructor.
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-121-2/+6
|
* Patch from Eric Norum <eric@cls.usask.ca> to implement this:Joel Sherrill2000-01-211-0/+2
| | | | | | | | | | | | | | | | | | | | I'd like to propose a change to RTEMS task variables that I think would make them more useful. I think that it is early enough in their existence to still make changes to their API. 1) Change type from `int' to `void *'. 2) Add extra argument to task_variable_add -- if non-NULL, a pointer to a `destructor' function to be called when the task exits. This function would be called with that task's value of the task variable as its argument. In many cases, the `dtor' function could be `free'. rtems_status_code rtems_task_variable_add ( rtems_id tid, void **ptr, void (*dtor)(void *)); rtems_status_code rtems_task_variable_delete (rtems_id tid, void **ptr); This would be all we'd need to cleanly and efficiently support C++ per-thread exception information without dragging in all that POSIX API stuff.
* Updated copyright notice.Joel Sherrill1999-11-171-2/+1
|
* Moved task_variable pointer to basic shared part of TCB instead ofJoel Sherrill1999-11-161-14/+6
| | | | | | | RTEMS API extension to avoid problems when the extension is freed. Eventually the task variable switch extension should become part of the core context switch and the Ada tcb self implemented in terms of it.
* Used typedef so all "struct rtems_task_variable_t" uses are nowJoel Sherrill1999-11-121-4/+4
| | | | just "rtems_task_variable_t".
* Added per task variables based on patch from Eric Norum <eric@cls.usask.ca>.Joel Sherrill1999-11-121-3/+65
| | | | | After being submitted, this support was rewritten to be inside the executive rather than layered on top of it using an extension.
* Added comments for _RTEMS_tasks_Create_extension,Joel Sherrill1999-11-021-4/+9
| | | | | _RTEMS_tasks_Start_extension, _RTEMS_tasks_Delete_extension, and _RTEMS_tasks_Switch_extension.
* Split Task Manager into multiple files. Eventually this effort willJoel Sherrill1999-05-171-961/+0
| | | | reduce the size of executables.
* Made all calls to _Thread_Yield_processor consistent in how they areJoel Sherrill1999-05-071-7/+6
| | | | wrapped by calls to _Thread_Enable_dispatch and _Thread_Disable_dispatch.
* Added --disable-multiprocessing flag and modified a lot of files to makeJoel Sherrill1998-11-231-24/+73
| | | | it work.
* Added system task attribute to allow one to create a task with "0" priorityJoel Sherrill1998-08-211-9/+11
| | | | via the user api.
* All task delete API level services were incorrectly assuming that theJoel Sherrill1998-06-181-1/+10
| | | | | | | | | | | task to be deleted was created via the same API (i.e. were of the object class created by this API). For example, a POSIX thread calling the rtems_task_delete(SELF) directive would incorrectly update the RTEMS object local pointer table. Jennifer discovered this when moving tests implemented in C using the Classic RTEMS API into a tree of Ada tests. The Ada tests were implicitly using POSIX services. This lead to some unexpected behavior.
* updated copyright to 1998Joel Sherrill1998-02-171-1/+1
|
* Fixed typo in the pointer to the license terms.Joel Sherrill1997-10-081-2/+2
|
* File changed to reflect change in license and copyright.Joel Sherrill1997-04-221-5/+5
|
* Modified calls to _Thread_Change_priority to take a third argument. The newJoel Sherrill1997-03-081-1/+1
| | | | | | | | | | | | argument indicates whether the task is to be placed at the head or tail of its priority fifo when it is lowering its own priority. POSIX normally follows the RTEMS API conventions but GNAT expects that all lowering of a task's priority by the task itself will result in being placed at the head of the priority FIFO. Normally, this would only occur as the result of lose of inherited priority. The RTEMS API always puts tasks at the end of their priority group except upon loss of inherited priority.
* changed _TOD_Is_set from a function to a boolean variableJoel Sherrill1996-09-061-1/+1
|
* Added Sporadic Server support to posix threads which required changesJoel Sherrill1996-06-061-4/+16
| | | | | in the core to support multiple algorithms to handle cpu time budgetting which resulted in a change to the calling sequence of _Thread_Initialize.
* *** empty log message ***Joel Sherrill1996-05-291-0/+3
|
* It is now not an error to have 0 RTEMS initialization tasks since you couldJoel Sherrill1996-05-291-0/+6
| | | | create POSIX initialization threads.
* changed post task extension from user set to api set and added flagJoel Sherrill1996-02-131-4/+6
| | | | in each thread which must be set when the post switch extension is to be run.
* Insert mode argument to _Watchdog_Insert removed. Now are watchdog timersJoel Sherrill1995-12-011-4/+5
| | | | are automatically activated upon insertion.
* posix support initially addedJoel Sherrill1995-09-261-10/+10
|
* More file movement required api extension to be added to scoreJoel Sherrill1995-09-211-5/+5
|
* More file movementJoel Sherrill1995-09-211-1/+1
|
* Minor bug fixes to get all targets compilable and running. TheJoel Sherrill1995-09-191-16/+11
| | | | | | single biggest changes were the expansion of the workspace size macro to include other types of objects and the increase in the minimum stack size for most CPUs.
* The word "RTEMS" almost completely removed from the core.Joel Sherrill1995-09-111-122/+382
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuration Table Template file added and all tests modified to use this. All gvar.h and conftbl.h files removed from test directories. Configuration parameter maximum_devices added. Core semaphore and mutex handlers added and RTEMS API Semaphore Manager updated to reflect this. Initialization sequence changed to invoke API specific initialization routines. Initialization tasks table now owned by RTEMS Tasks Manager. Added user extension for post-switch. Utilized user extensions to implement API specific functionality like signal dispatching. Added extensions to the System Initialization Thread so that an API can register a function to be invoked while the system is being initialized. These are largely equivalent to the pre-driver and post-driver hooks. Added the Modules file oar-go32_p5, modified oar-go32, and modified the file make/custom/go32.cfg to look at an environment varable which determines what CPU model is being used. All BSPs updated to reflect named devices and clock driver's IOCTL used by the Shared Memory Driver. Also merged clock isr into main file and removed ckisr.c where possible. Updated spsize to reflect new and moved variables. Makefiles for the executive source and include files updated to show break down of files into Core, RTEMS API, and Neither. Header and inline files installed into subdirectory based on whether logically in the Core or a part of the RTEMS API.
* Added unused priority ceiling parameter to rtems_semaphore_create.Joel Sherrill1995-08-281-109/+105
| | | | | | | | | | | | | | | Rearranged code to created thread handler routines to initialize, start, restart, and "close/delete" a thread. Made internal threads their own object class. This now uses the thread support routines for starting and initializing a thread. Insured deleted tasks are freed to the Inactive pool associated with the correct Information block. Added an RTEMS API specific data area to the thread control block. Beginnings of removing the word "rtems" from the core.
* Moved _Thread_Information -> _RTEMS_tasks_Information.Joel Sherrill1995-08-231-5/+33
| | | | | | | Added a table of object information control blocks. Modified _Thread_Get so it looks up a thread regardless of which thread management "entity" (manager, internal, etc) actually "owns" it.
* Support for variable length names added to Object Handler. This supportsJoel Sherrill1995-08-231-5/+6
| | | | | | both fixed length "raw" names and strings from the API's point of view. Both inline and macro implementations were tested.
* + Added object type field to object id.Joel Sherrill1995-08-181-1/+0
| | | | | | | | | | + Added name pointer to Object_Control. + Modified Object Open and Close to address name field. + Removed name as separate element from Thread and Proxy Control. + Added parameter "object class" to calls to Initialize Information
* Initial revisionJoel Sherrill1995-05-111-0/+816