summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/pthread.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* posix: Add signal post switch extension on the flySebastian Huber2012-12-051-5/+0
|
* posix: Add and use <rtems/posix/psignalimpl.h>Sebastian Huber2012-12-051-1/+1
| | | | | This file contains the parts of <rtems/posix/psignal.h> that are only necessary for the POSIX API implementation.
* score: Add API extensions post switch listSebastian Huber2012-12-051-4/+7
| | | | | | | | Move post switch hook from API_extensions_Control to new API_extensions_Post_switch_control. Rename _API_extensions_Run_postswitch() in _API_extensions_Run_post_switch(). Add _API_extensions_Post_switch_list and _API_extensions_Add_post_switch().
* score: Add and use <rtems/score/userextimpl.h>Sebastian Huber2012-11-221-1/+1
| | | | | This file contains the parts of <rtems/score/userext.h> that are only necessary for the RTEMS implementation.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-12-05 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-051-1/+1
| | | | * posix/src/pthread.c: Fix typos.
* 2011-12-03 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-031-5/+6
| | | | | | | | | * posix/src/pthread.c (_POSIX_Threads_Default_attributes): Add missing initializer. * posix/src/pthread.c: Make _POSIX_Threads_Create_extension,_POSIX_Threads_Delete_extension, _POSIX_Threads_Exitted_extension, _POSIX_Threads_Initialize_user_threads static.
* 2011-07-31 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-07-311-1/+1
| | | | | | | | | PR 1855/cpukit * posix/src/psignal.c, posix/src/pthread.c, posix/src/pthreadjoin.c: Correct signal processing during pthread_join. We are supposed to unblock the thread waiting on a pthread_join(), dispatch the signal handler, account for it potentially overwriting errno, and then have the thread return to blocking within pthread_join().
* 2011-07-27 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-07-271-1/+1
| | | | | * posix/src/pthread.c, posix/src/pthreadjoin.c: Revert accidental commit.
* 2011-07-27 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill2011-07-271-1/+1
| | | | | | PR 1856/cpukit * posix/src/pthread.c, posix/src/pthreadjoin.c, score/src/rbtreeextract.c: Do not derefence NULL.
* 2011-02-15 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-02-161-1/+1
| | | | | | | | | | | | * libmisc/capture/capture.c, posix/src/keyfreememory.c, posix/src/pthread.c, score/include/rtems/score/wkspace.h, score/src/objectextendinformation.c, score/src/objectnamespaceremove.c, score/src/objectsetname.c, score/src/threadclose.c, score/src/threadinitialize.c, score/src/wkspace.c: Many places were checking for a NULL pointer before calling _Workspace_Free. By moving the check into _Workspace_Free, we eliminate a number of conditional paths and make it harder to return a NULL pointer.
* 2010-10-04 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-10-041-0/+3
| | | | | | | * Makefile.am, configure.ac, posix/Makefile.am, posix/src/pthread.c: * posix/src/pthreadattrgetguardsize.c, posix/src/pthreadattrgetstack.c, posix/src/pthreadattrsetguardsize.c, posix/src/pthreadattrsetstack.c: New files.
* 2010-04-25 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-04-251-4/+9
| | | | | | * posix/src/pthread.c: Make default pthread_attr_t match the conditionals in the version in newlib. This way it will always be right.
* Reflect POSIX sched_parm changes.Ralf Corsepius2010-04-031-9/+9
|
* 2009-09-26 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-09-261-2/+2
| | | | | | * libmisc/capture/capture.c, posix/src/pthread.c, rtems/src/tasks.c, score/include/rtems/score/userext.h: Eliminate use of deprecated rtems_extension. Re-add prototype for _User_extensions_Add_API_set.
* 2009-08-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-08-191-57/+53
| | | | | | | | * posix/src/pthread.c: Address sporadic server edge cases. Do not change priority if thread is holding a priority ceiling or inheritance mutex. Do not change it if it looks like the thread has manually changed its priority. Style cleanup on file with new comments added.
* 2009-08-01 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-08-011-6/+2
| | | | | | | * posix/src/psxtransschedparam.c, posix/src/pthread.c: Add error checks for 0 time on sporadic scheduler replenish period and initial budget. This avoids having to correct for it in the TSR, so we can eliminate the check for ticks == 0 there.
* 2009-07-03 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-07-031-1/+3
| | | | | | | * itron/src/task.c, posix/src/pthread.c, rtems/src/tasks.c, sapi/src/exinit.c, score/include/rtems/score/apiext.h, score/src/apiext.c: No APIs currently implemented use the predriver_hook so disable it until such time as it is used.
* 2009-06-29 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-06-291-1/+0
| | | | | | | | * posix/src/killinfo.c, posix/src/mutexinit.c, posix/src/psignal.c, posix/src/psignalchecksignal.c, posix/src/pthread.c, posix/src/pthreadexit.c, posix/src/pthreadinitthreads.c: Remove includes of <assert.h> where possible. Make other uses conditional on ifdef RTEMS_DEBUG.
* 2009-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-06-241-2/+7
| | | | | | | | | | | | | | | * posix/Makefile.am, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/pthread.h, posix/inline/rtems/posix/priority.inl, posix/src/killinfo.c, posix/src/pthread.c, posix/src/pthreadcreate.c, posix/src/pthreadsetschedparam.c: Various modifications to improve binary code coverage analysis. Some of these are to mark code as debug only. Some are to break conditional expressions into multiple lines. Some are to move inline methods that are not time critical into subroutines to make them easier to test. Inlining them multiple times means that their logic paths are spread across multiple methods. This explodes the test cases required. * posix/src/psxpriorityisvalid.c, posix/src/psxtransschedparam.c: New files.
* Eliminate TRUE/FALSE.Ralf Corsepius2009-02-031-6/+6
|
* Add __attribute__((unused)) to unused function args.Ralf Corsepius2009-01-021-3/+3
|
* 2008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-12-171-14/+6
| | | | | | | | | | | | | | | | | | | | * posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/timer.h, posix/src/cond.c, posix/src/key.c, posix/src/mqueue.c, posix/src/mutex.c, posix/src/pbarrier.c, posix/src/prwlock.c, posix/src/psignal.c, posix/src/pspin.c, posix/src/pthread.c, posix/src/pthreadinitthreads.c, posix/src/ptimer.c, posix/src/semaphore.c, sapi/src/posixapi.c: Convert POSIX manager initialization routines to directly pull parameters from configuration table.
* 2008-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-12-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | * libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c, libmisc/cpuuse/cpuusagereset.c, posix/src/clockgettime.c, posix/src/pthread.c, posix/src/timersettime.c, rtems/include/rtems/rtems/ratemon.h, rtems/src/clockgetsecondssinceepoch.c, rtems/src/clockgetuptime.c, rtems/src/ratemongetstatus.c, rtems/src/ratemonperiod.c, rtems/src/ratemonreportstatistics.c, rtems/src/taskwakewhen.c, rtems/src/timerfirewhen.c, rtems/src/timerserver.c, rtems/src/timerserverfirewhen.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/thread.h, score/include/rtems/score/tod.h, score/src/coretod.c, score/src/coretodget.c, score/src/coretodgetuptime.c, score/src/coretodset.c, score/src/coretodtickle.c, score/src/threaddispatch.c, score/src/threadinitialize.c: Add SuperCore handler Timestamp to provide an opaque class for the representation and manipulation of uptime, time of day, and the difference between two timestamps. By using SuperCore Timestamp, it is clear which methods and APIs really have to be struct timespec and which can be in an optimized native format. * score/include/rtems/score/timestamp.h, score/src/coretodgetuptimetimespec.c: New files.
* Convert to "bool".Ralf Corsepius2008-09-041-3/+3
|
* 2008-08-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-08-181-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-13 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-06-131-1/+1
| | | | | | | | | | | | | * posix/include/rtems/posix/pthread.h, posix/src/pthread.c, posix/src/pthreadcreate.c, rtems/include/rtems.h, rtems/src/attr.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, score/inline/rtems/score/stack.inl, score/src/isr.c, score/src/mpci.c, score/src/threadcreateidle.c, score/src/threadinitialize.c, score/src/threadstackallocate.c: Add ability for application to configure minimum stack size. Add RTEMS_CONFIGURED_MINIMUM_STACK_SIZE constant so user can clearly indicate they want the configured as opposed to the recommended minimum stack size.
* 2008-05-22 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-05-221-2/+5
| | | | | | | | | | | | | * itron/include/rtems/itron/task.h, itron/src/del_tsk.c, itron/src/exd_tsk.c, itron/src/task.c, posix/include/rtems/posix/threadsup.h, posix/src/cancel.c, posix/src/cancelrun.c, posix/src/pthread.c, posix/src/pthreadexit.c, posix/src/setcancelstate.c, posix/src/setcanceltype.c, posix/src/testcancel.c, rtems/src/taskdelete.c, score/inline/rtems/score/object.inl, score/src/objectclose.c, score/src/threadclose.c: Make all task delete/exit/cancel routines follow the same critical section pattern. Also ensure that POSIX cancelation routines are run at thread exit.
* 2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-01-311-2/+2
| | | | | | | | | | | | | | | | * posix/src/cond.c, posix/src/key.c, posix/src/mqueuenametoid.c, posix/src/mutex.c, posix/src/pbarrier.c, posix/src/prwlock.c, posix/src/pspin.c, posix/src/pthread.c, posix/src/ptimer.c, posix/src/semaphorenametoid.c: Add option for all POSIX objects whether named or unnamed to have a string name. If the API does not directly support having a name, then the user must explicitly assign it using rtems_object_set_name(). * rtems/src/rtemsobjectgetapiclassname.c: Improved testability. * score/include/rtems/score/object.h, score/src/objectgetnameasstring.c, score/src/objectnametoidstring.c, score/src/objectsetname.c: Modifications required to pass testing of recently modified object name operations. Also eliminated multiprocessing related code that was not reachable.
* 2007-09-14 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-09-141-2/+3
| | | | | | PR 1260/cpukit * posix/src/pthread.c: Get initial signals blocked from creating thread not from ourselves.
* 2007-04-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2007-04-171-38/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2007-04-05 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2007-04-051-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * posix/Makefile.am, posix/include/rtems/posix/time.h, posix/src/adjtime.c, posix/src/alarm.c, posix/src/clockgetres.c, posix/src/condtimedwait.c, posix/src/mqueuetimedreceive.c, posix/src/mqueuetimedsend.c, posix/src/mutextimedlock.c, posix/src/nanosleep.c, posix/src/posixtimespecabsolutetimeout.c, posix/src/pthread.c, posix/src/pthreadcreate.c, posix/src/pthreadsetschedparam.c, posix/src/ptimer1.c, posix/src/sched.c, posix/src/semtimedwait.c, posix/src/sigtimedwait.c, posix/src/ualarm.c, rtems/src/clocktodtoseconds.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/tod.h, score/inline/rtems/score/tod.inl, score/src/coretod.c, score/src/coretodget.c, score/src/coretodgetuptime.c, score/src/coretodset.c, score/src/coretodtickle.c: Provide timespec manipulation routines in the SuperCore. Use them everywhere possible. This lead to significant cleanup in the API routines and eliminated some of the same code from the POSIX API. At this point, the SuperCore keeps time in POSIX timespec format properly from 1970. You just cannot set it before 1988 in keeping with RTEMS traditional behavior. * score/include/rtems/score/timespec.h, score/src/timespecaddto.c, score/src/timespecfromticks.c, score/src/timespecisvalid.c, score/src/timespeclessthan.c, score/src/timespecsubtract.c, score/src/timespectoticks.c: New files. * posix/src/posixintervaltotimespec.c, posix/src/posixtimespecsubtract.c, posix/src/posixtimespectointerval.c: Removed.
* 2004-09-27 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-09-271-1/+6
| | | | | | PR 294/rtems * posix/src/pthread.c: POSIX thread exit handler now confirms that it created the executing thread before implicitly exitting it.
* Remove stray white spaces.Ralf Corsepius2004-04-161-30/+30
|
* 2004-03-23 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-231-7/+7
| | | | | | | | | | | | | | | | | | | | | * posix/include/rtems/posix/cond.h, posix/include/rtems/posix/intr.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/timer.h, posix/src/cond.c, posix/src/intr.c, posix/src/key.c, posix/src/keycreate.c, posix/src/keydelete.c, posix/src/keygetspecific.c, posix/src/keyrundestructors.c, posix/src/keysetspecific.c, posix/src/killinfo.c, posix/src/mqueue.c, posix/src/mqueuerecvsupp.c, posix/src/mqueuesendsupp.c, posix/src/mqueuetranslatereturncode.c, posix/src/mutex.c, posix/src/posixintervaltotimespec.c, posix/src/posixtimespecsubtract.c, posix/src/psignal.c, posix/src/pthread.c, posix/src/ptimer1.c, posix/src/semaphore.c, posix/src/sysconf.c: Convert to using c99 fixed size types.
* 2002-07-05 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-051-2/+5
| | | | | | | * include/rtems/posix/cancel.h, src/cancel.c, src/cancelrun.c, src/mqueue.c, src/pthread.c, src/semaphore.c, src/setcancelstate.c, src/setcanceltype.c, src/testcancel.c: Per PR164, corrected the behavior of thread cancellation and did some cleanup as a side-effect.
* 2002-07-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-011-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | * 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/posix/key.h, src/cond.c, src/condinit.c, src/intr.c, src/key.c, src/keycreate.c, src/keydelete.c, src/killinfo.c, src/mqueue.c, src/mqueuecreatesupp.c, src/mutex.c, src/mutexinit.c, src/psignal.c, src/pthread.c, src/semaphore.c, src/semaphorecreatesupp.c: Modified as part of above.
* 2002-04-08 Chris Johns <ccj@acm.org>Joel Sherrill2002-04-081-0/+1
| | | | | * Per PR142, make task switch extension its own list. * src/pthread.c (_POSIX_Threads_User_extensions): Reflect above.
* 2001-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-01-241-0/+4
| | | | | | | * configure.in: Add src/config.h * src/Makefile.am: Add INCLUDES += -I. to pickup config.h * src/.cvsignore: Add config.h and stamp-h * src/*.c: Add config.h support.
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-121-2/+2
|
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1999-10-251-0/+8
| | | | | to initialize the pthread cancellation fields. This is a patch to _POSIX_Threads_Create_extension that fixes the problem.
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca> to addJoel Sherrill1999-08-301-1/+13
| | | | | support for return codes from POSIX threads that do an implicit exit by returning from the bottom of the main function.
* Patch from Jiri Gaisler <jgais@ws.estec.esa.nl> to allow stacksizeJoel Sherrill1999-05-071-1/+1
| | | | of POSIX Init thread to be user configured.
* Added include of rtems/posix/cancel.h.Joel Sherrill1999-04-151-0/+1
|
* Split most of POSIX Threads Manager into multiple files.Joel Sherrill1999-01-251-957/+0
|
* All task delete API level services were incorrectly assuming that theJoel Sherrill1998-06-181-1/+5
| | | | | | | | | | | 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.
* Changed name from entry to thread_entry to be more compatible withJoel Sherrill1997-07-091-1/+1
| | | | Ada interface where entry is a keyword.
* Fixed bug where the initial detachstate was not being set properlyJoel Sherrill1997-03-101-1/+1
|
* Modified calls to _Thread_Change_priority to take a third argument. The newJoel Sherrill1997-03-081-3/+7
| | | | | | | | | 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.
* changed stack size of posix initialization threads to double the minimumJoel Sherrill1996-09-301-0/+3
| | | | stack size so more of acvc would pass.