summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/tasks.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-12-172008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-8/+5
* rtems/Makefile.am, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/src/barrier.c, rtems/src/dpmem.c, rtems/src/msg.c, rtems/src/part.c, rtems/src/ratemon.c, rtems/src/region.c, rtems/src/rtemstimer.c, rtems/src/sem.c, rtems/src/tasks.c, sapi/src/rtemsapi.c: Convert manager initialization routines to directly pull parameters from configuration table. Eliminate empty routines sportted. * rtems/src/intr.c: Removed.
2008-09-04Convert to "bool".Ralf Corsepius1-3/+3
2008-08-182008-08-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+0
* itron/include/rtems/itron/task.h, itron/src/def_cyc.c, itron/src/task.c, libcsupport/src/newlibc_exit.c, libcsupport/src/sync.c, libfs/src/imfs/imfs_fchmod.c, posix/include/rtems/posix/pthread.h, posix/src/pthread.c, posix/src/sysconf.c, rtems/include/rtems/rtems/tasks.h, rtems/src/tasks.c, score/include/rtems/score/stack.h, score/inline/rtems/score/stack.inl, score/inline/rtems/score/thread.inl, score/src/threadhandler.c: Fix various nested-externs warnings.
2008-06-162008-06-16 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-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-182008-04-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-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-122007-12-12 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-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.
2007-05-21Split Classic API data instantiation into individual files. This reduces ↵Joel Sherrill1-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-172007-04-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-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-222006-06-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-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-012006-02-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-3/+3
* rtems/src/tasks.c, rtems/src/taskvariableadd.c, rtems/src/taskvariabledelete.c, rtems/src/taskvariableget.c: Remove warnings.
2005-10-042005-10-04 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill1-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.
2005-01-18Include config.h.Ralf Corsepius1-0/+4
2004-04-18Remove stray white spaces.Ralf Corsepius1-15/+15
2004-04-15Remove stray white spaces.Ralf Corsepius1-1/+0
2004-03-292004-03-29 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-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-222003-10-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-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-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.