summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/tasks.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2003-09-112003-09-11 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+5
PR 488/rtems * src/taskcreate.c, src/tasks.c: Ensure notepads are zeroed.
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* include/rtems.h, include/rtems/rtems/asr.h, include/rtems/rtems/attr.h, include/rtems/rtems/cache.h, include/rtems/rtems/clock.h, include/rtems/rtems/config.h, include/rtems/rtems/dpmem.h, include/rtems/rtems/event.h, include/rtems/rtems/eventmp.h, include/rtems/rtems/eventset.h, include/rtems/rtems/intr.h, include/rtems/rtems/message.h, include/rtems/rtems/modes.h, include/rtems/rtems/mp.h, include/rtems/rtems/msgmp.h, include/rtems/rtems/options.h, include/rtems/rtems/part.h, include/rtems/rtems/partmp.h, include/rtems/rtems/ratemon.h, include/rtems/rtems/region.h, include/rtems/rtems/regionmp.h, include/rtems/rtems/rtemsapi.h, include/rtems/rtems/sem.h, include/rtems/rtems/semmp.h, include/rtems/rtems/signal.h, include/rtems/rtems/signalmp.h, include/rtems/rtems/status.h, include/rtems/rtems/support.h, include/rtems/rtems/taskmp.h, include/rtems/rtems/tasks.h, include/rtems/rtems/timer.h, include/rtems/rtems/types.h, inline/rtems/rtems/asr.inl, inline/rtems/rtems/attr.inl, inline/rtems/rtems/dpmem.inl, inline/rtems/rtems/event.inl, inline/rtems/rtems/eventset.inl, inline/rtems/rtems/message.inl, inline/rtems/rtems/modes.inl, inline/rtems/rtems/options.inl, inline/rtems/rtems/part.inl, inline/rtems/rtems/ratemon.inl, inline/rtems/rtems/region.inl, inline/rtems/rtems/sem.inl, inline/rtems/rtems/status.inl, inline/rtems/rtems/support.inl, inline/rtems/rtems/tasks.inl, inline/rtems/rtems/timer.inl, macros/rtems/rtems/asr.inl, macros/rtems/rtems/attr.inl, macros/rtems/rtems/dpmem.inl, macros/rtems/rtems/event.inl, macros/rtems/rtems/eventset.inl, macros/rtems/rtems/message.inl, macros/rtems/rtems/modes.inl, macros/rtems/rtems/options.inl, macros/rtems/rtems/part.inl, macros/rtems/rtems/ratemon.inl, macros/rtems/rtems/region.inl, macros/rtems/rtems/sem.inl, macros/rtems/rtems/status.inl, macros/rtems/rtems/support.inl, macros/rtems/rtems/tasks.inl, macros/rtems/rtems/timer.inl, src/attr.c, src/clockget.c, src/clockset.c, src/clocktick.c, src/dpmem.c, src/dpmemcreate.c, src/dpmemdelete.c, src/dpmemexternal2internal.c, src/dpmemident.c, src/dpmeminternal2external.c, src/event.c, src/eventmp.c, src/eventreceive.c, src/eventseize.c, src/eventsend.c, src/eventsurrender.c, src/eventtimeout.c, src/intr.c, src/intrbody.c, src/intrcatch.c, src/mp.c, src/msg.c, src/msgmp.c, src/msgqallocate.c, src/msgqbroadcast.c, src/msgqcreate.c, src/msgqdelete.c, src/msgqflush.c, src/msgqgetnumberpending.c, src/msgqident.c, src/msgqreceive.c, src/msgqsend.c, src/msgqsubmit.c, src/msgqtranslatereturncode.c, src/msgqurgent.c, src/part.c, src/partcreate.c, src/partdelete.c, src/partgetbuffer.c, src/partident.c, src/partmp.c, src/partreturnbuffer.c, src/ratemon.c, src/ratemoncancel.c, src/ratemoncreate.c, src/ratemondelete.c, src/ratemongetstatus.c, src/ratemonident.c, src/ratemonperiod.c, src/ratemontimeout.c, src/region.c, src/regioncreate.c, src/regiondelete.c, src/regionextend.c, src/regiongetinfo.c, src/regiongetsegment.c, src/regiongetsegmentsize.c, src/regionident.c, src/regionmp.c, src/regionreturnsegment.c, src/rtclock.c, src/rtemsidtoname.c, src/rtemstimer.c, src/sem.c, src/semcreate.c, src/semdelete.c, src/semflush.c, src/semident.c, src/semmp.c, src/semobtain.c, src/semrelease.c, src/semtranslatereturncode.c, src/signal.c, src/signalcatch.c, src/signalmp.c, src/signalsend.c, src/taskcreate.c, src/taskdelete.c, src/taskgetnote.c, src/taskident.c, src/taskinitusers.c, src/taskissuspended.c, src/taskmode.c, src/taskmp.c, src/taskrestart.c, src/taskresume.c, src/tasks.c, src/tasksetnote.c, src/tasksetpriority.c, src/taskstart.c, src/tasksuspend.c, src/taskvariableadd.c, src/taskvariabledelete.c, src/taskvariableget.c, src/taskwakeafter.c, src/taskwakewhen.c, src/timercancel.c, src/timercreate.c, src/timerdelete.c, src/timerfireafter.c, src/timerfirewhen.c, src/timergetinfo.c, src/timerident.c, src/timerreset.c, src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: URL for license changed.
2003-01-102003-01-10 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* src/msg.c, src/part.c, src/sem.c, src/tasks.c: Correct object class control structure initialization for multiprocessing configurations.
2002-07-012002-07-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-8/+12
* Mega patch merge to change the format of the object IDs to loosen the dependency between the SCORE and the various APIs. There was considerable work to simplify the object name management and it appears that the name_table field is no longer needed. This patch also includes the addition of the internal mutex which is currently only used to protect some types of allocation and deallocation. This significantly can reduce context switch latency under certain circumstances. In particular, some heap/region operations were O(n) and had dispatching disabled. This should help enormously. With this merge, the patch is not as clean as it should be. In particular, the documentation has not been modified to reflect the new object ID layout, the IDs in the test screens are not updated, and _Objects_Get_information needs to be a real routine not inlined. As part of this patch a lot of MP code for thread/proxy blocking was made conditional and cleaned up. * include/rtems.h, inline/rtems/rtems/region.inl, macros/rtems/rtems/region.inl, src/dpmem.c, src/dpmemcreate.c, src/msg.c, src/msgqcreate.c, src/part.c, src/partcreate.c, src/ratemon.c, src/ratemoncreate.c, src/region.c, src/regioncreate.c, src/regiondelete.c, src/regionextend.c, src/regiongetinfo.c, src/regiongetsegment.c, src/regiongetsegmentsize.c, src/regionident.c, src/regionreturnsegment.c, src/rtemstimer.c, src/sem.c, src/semcreate.c, src/taskcreate.c, src/taskident.c, src/tasks.c, src/timercreate.c: Modified as part of above.
2002-04-082001-04-08 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* src/tasks.c: Pre-initialized switch extension for list.
2002-04-082002-04-08 Chris Johns <ccj@acm.org>Joel Sherrill1-0/+1
* Per PR142, make task switch extension its own list. * src/tasks.c (_RTEMS_tasks_User_extensions): Reflect above.
2001-09-212001-09-14 Fernando Ruiz <fernando.ruiz@ctv.es>Joel Sherrill1-1/+1
* src/tasks.c: Dereference pointer passed to destructor.
2000-06-12Merged from 4.5.0-beta3aJoel Sherrill1-2/+6
2000-01-21Patch from Eric Norum <eric@cls.usask.ca> to implement this:Joel Sherrill1-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.
1999-11-17Updated copyright notice.Joel Sherrill1-2/+1
1999-11-16Moved task_variable pointer to basic shared part of TCB instead ofJoel Sherrill1-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.
1999-11-12Used typedef so all "struct rtems_task_variable_t" uses are nowJoel Sherrill1-4/+4
just "rtems_task_variable_t".
1999-11-12Added per task variables based on patch from Eric Norum <eric@cls.usask.ca>.Joel Sherrill1-3/+65
After being submitted, this support was rewritten to be inside the executive rather than layered on top of it using an extension.
1999-11-02Added comments for _RTEMS_tasks_Create_extension,Joel Sherrill1-4/+9
_RTEMS_tasks_Start_extension, _RTEMS_tasks_Delete_extension, and _RTEMS_tasks_Switch_extension.
1999-05-17Split Task Manager into multiple files. Eventually this effort willJoel Sherrill1-961/+0
reduce the size of executables.
1999-05-07Made all calls to _Thread_Yield_processor consistent in how they areJoel Sherrill1-7/+6
wrapped by calls to _Thread_Enable_dispatch and _Thread_Disable_dispatch.
1998-11-23Added --disable-multiprocessing flag and modified a lot of files to makeJoel Sherrill1-24/+73
it work.
1998-08-21Added system task attribute to allow one to create a task with "0" priorityJoel Sherrill1-9/+11
via the user api.
1998-06-18All task delete API level services were incorrectly assuming that theJoel Sherrill1-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.
1998-02-17updated copyright to 1998Joel Sherrill1-1/+1
1997-10-08Fixed typo in the pointer to the license terms.Joel Sherrill1-2/+2
1997-04-22File changed to reflect change in license and copyright.Joel Sherrill1-5/+5
1997-03-08Modified calls to _Thread_Change_priority to take a third argument. The newJoel Sherrill1-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.
1996-09-06changed _TOD_Is_set from a function to a boolean variableJoel Sherrill1-1/+1
1996-06-06Added Sporadic Server support to posix threads which required changesJoel Sherrill1-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.
1996-05-29*** empty log message ***Joel Sherrill1-0/+3
1996-05-29It is now not an error to have 0 RTEMS initialization tasks since you couldJoel Sherrill1-0/+6
create POSIX initialization threads.
1996-02-13changed post task extension from user set to api set and added flagJoel Sherrill1-4/+6
in each thread which must be set when the post switch extension is to be run.
1995-12-01Insert mode argument to _Watchdog_Insert removed. Now are watchdog timersJoel Sherrill1-4/+5
are automatically activated upon insertion.
1995-09-26posix support initially addedJoel Sherrill1-10/+10
1995-09-21More file movement required api extension to be added to scoreJoel Sherrill1-5/+5
1995-09-21More file movementJoel Sherrill1-1/+1
1995-09-19Minor bug fixes to get all targets compilable and running. TheJoel Sherrill1-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.
1995-09-11The word "RTEMS" almost completely removed from the core.Joel Sherrill1-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.
1995-08-28Added unused priority ceiling parameter to rtems_semaphore_create.Joel Sherrill1-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.
1995-08-23Moved _Thread_Information -> _RTEMS_tasks_Information.Joel Sherrill1-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.
1995-08-23Support for variable length names added to Object Handler. This supportsJoel Sherrill1-5/+6
both fixed length "raw" names and strings from the API's point of view. Both inline and macro implementations were tested.
1995-08-18+ Added object type field to object id.Joel Sherrill1-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