summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/tasks.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 2008-06-16 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-06-161-3/+15
| | | | | | | * rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/tasks.h, rtems/src/taskgetnote.c, rtems/src/tasks.c, rtems/src/tasksetnote.c, sapi/include/confdefs.h: Add CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS.
* 2008-04-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-04-181-0/+2
| | | | | | * posix/src/key.c: Include <limits.h> * posix/src/psignal.c, rtems/src/tasks.c: Do not attempt to process a NULL extension block.
* 2007-12-12 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-121-9/+1
| | | | | | | | * rtems/Makefile.am, rtems/include/rtems/rtems/tasks.h, rtems/src/tasks.c, rtems/src/taskvariableadd.c, rtems/src/taskvariabledelete.c: Add test code for task variables to improve coverage. * rtems/src/taskvariable_invoke_dtor.c: New file.
* Split Classic API data instantiation into individual files. This reduces ↵Joel Sherrill2007-05-211-13/+3
| | | | the size of the BSS section when an optional manageer stub is used. Some tests showed about a 600 byte reduction in BSS size. Also eliminated the variables _RTEMS_tasks_User_initialization_tasks and _RTEMS_tasks_Number_of_initialization_tasks because they were only used in one place after initialized. It was a waste of space.
* 2007-04-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2007-04-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * itron/Makefile.am, itron/src/eventflags.c, itron/src/fmempool.c, itron/src/itronintr.c, itron/src/itrontime.c, itron/src/network.c, itron/src/port.c, itron/src/sysmgmt.c, itron/src/task.c, itron/src/vmempool.c, posix/Makefile.am, posix/src/pthread.c, rtems/src/taskinitusers.c, rtems/src/tasks.c, sapi/include/confdefs.h, sapi/src/io.c: Various modification to reduce executable size. Most were refactoring of files. Split ITRON API files. Implemented mechanism to avoid initialization task/thread loop being linked in when that style of task initialization was not being used. * itron/src/acp_por.c, itron/src/act_cyc.c, itron/src/cal_por.c, itron/src/chg_iXX.c, itron/src/clr_flg.c, itron/src/cre_flg.c, itron/src/cre_mpf.c, itron/src/cre_mpl.c, itron/src/cre_por.c, itron/src/def_alm.c, itron/src/def_cyc.c, itron/src/def_exc.c, itron/src/def_int.c, itron/src/def_svc.c, itron/src/del_flg.c, itron/src/del_mpf.c, itron/src/del_mpl.c, itron/src/del_por.c, itron/src/dis_int.c, itron/src/dly_tsk.c, itron/src/ena_int.c, itron/src/fwd_por.c, itron/src/get_blf.c, itron/src/get_blk.c, itron/src/get_tim.c, itron/src/get_ver.c, itron/src/itroninittasks.c, itron/src/loc_cpu.c, itron/src/nget_nod.c, itron/src/nget_ver.c, itron/src/nrea_dat.c, itron/src/nwri_dat.c, itron/src/pacp_por.c, itron/src/pcal_por.c, itron/src/pget_blf.c, itron/src/pget_blk.c, itron/src/pol_flg.c, itron/src/ref_alm.c, itron/src/ref_cfg.c, itron/src/ref_cyc.c, itron/src/ref_flg.c, itron/src/ref_iXX.c, itron/src/ref_mpf.c, itron/src/ref_mpl.c, itron/src/ref_por.c, itron/src/ref_sys.c, itron/src/rel_blf.c, itron/src/rel_blk.c, itron/src/ret_int.c, itron/src/ret_tmr.c, itron/src/ret_wup.c, itron/src/rpl_rdv.c, itron/src/set_flg.c, itron/src/set_tim.c, itron/src/tacp_por.c, itron/src/tcal_por.c, itron/src/tget_blf.c, itron/src/tget_blk.c, itron/src/twai_flg.c, itron/src/unl_cpu.c, itron/src/wai_flg.c, posix/src/pthreadinitthreads.c: New files.
* 2006-06-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2006-06-221-5/+0
| | | | | | PR 1101/rtems * libcsupport/src/base_fs.c, rtems/src/taskcreate.c, rtems/src/tasks.c, score/src/coremutex.c: Remove dead code.
* 2006-02-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2006-02-011-3/+3
| | | | | | * rtems/src/tasks.c, rtems/src/taskvariableadd.c, rtems/src/taskvariabledelete.c, rtems/src/taskvariableget.c: Remove warnings.
* 2005-10-04 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill2005-10-041-3/+7
| | | | | | | | | | PR 829/rtems * rtems/src/tasks.c, rtems/src/taskvariabledelete.c: If task variables are deleted from a different context (i.e., executing context != owner of the task variable. The owner meaning the task that registered the dtor in question) the argument passed to the task variable dtor must be tvar and not *ptr which yields the executing task's value of the task variable instead of the owner's.
* Include config.h.Ralf Corsepius2005-01-181-0/+4
|
* Remove stray white spaces.Ralf Corsepius2004-04-181-15/+15
|
* Remove stray white spaces.Ralf Corsepius2004-04-151-1/+0
|
* 2004-03-29 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/part.inl, rtems/inline/rtems/rtems/region.inl, rtems/macros/rtems/rtems/part.inl, rtems/src/attr.c, rtems/src/dpmem.c, rtems/src/dpmemcreate.c, rtems/src/dpmemexternal2internal.c, rtems/src/dpmeminternal2external.c, rtems/src/eventseize.c, rtems/src/msg.c, rtems/src/msgmp.c, rtems/src/msgqallocate.c, rtems/src/msgqbroadcast.c, rtems/src/msgqcreate.c, rtems/src/msgqflush.c, rtems/src/msgqgetnumberpending.c, rtems/src/msgqident.c, rtems/src/msgqreceive.c, rtems/src/msgqsend.c, rtems/src/msgqsubmit.c, rtems/src/msgqtranslatereturncode.c, rtems/src/msgqurgent.c, rtems/src/part.c, rtems/src/partcreate.c, rtems/src/partident.c, rtems/src/partmp.c, rtems/src/ratemon.c, rtems/src/region.c, rtems/src/regioncreate.c, rtems/src/regionextend.c, rtems/src/regiongetsegment.c, rtems/src/regiongetsegmentsize.c, rtems/src/regionmp.c, rtems/src/regionreturnsegment.c, rtems/src/rtemstimer.c, rtems/src/sem.c, rtems/src/semcreate.c, rtems/src/semident.c, rtems/src/semmp.c, rtems/src/semobtain.c, rtems/src/semtranslatereturncode.c, rtems/src/taskcreate.c, rtems/src/taskgetnote.c, rtems/src/taskident.c, rtems/src/taskinitusers.c, rtems/src/taskmp.c, rtems/src/taskrestart.c, rtems/src/tasks.c, rtems/src/tasksetnote.c, rtems/src/taskstart.c, rtems/src/timerserver.c: Convert to using c99 fixed size types.
* 2003-10-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-10-221-2/+2
| | | | | | PR 512/core * src/tasks.c, src/taskvariabledelete.c: Run task variable destructor when task variable is deleted. Also some style cleanup.
* 2003-09-11 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-111-0/+5
| | | | | PR 488/rtems * src/taskcreate.c, src/tasks.c: Ensure notepads are zeroed.
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-041-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-10 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-01-101-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-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-011-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.
* 2001-04-08 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-04-081-1/+1
| | | | * src/tasks.c: Pre-initialized switch extension for list.
* 2002-04-08 Chris Johns <ccj@acm.org>Joel Sherrill2002-04-081-0/+1
| | | | | * Per PR142, make task switch extension its own list. * src/tasks.c (_RTEMS_tasks_User_extensions): Reflect above.
* 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.