| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
| |
This file contains the parts of <rtems/posix/psignal.h> that are only
necessary for the POSIX API implementation.
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
| |
This file contains the parts of <rtems/score/userext.h> that are only
necessary for the RTEMS implementation.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* posix/src/pthread.c: Fix typos.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
| |
* posix/src/pthread.c, posix/src/pthreadjoin.c: Revert accidental
commit.
|
|
|
|
|
|
| |
PR 1856/cpukit
* posix/src/pthread.c, posix/src/pthreadjoin.c,
score/src/rbtreeextract.c: Do not derefence NULL.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* posix/src/pthread.c: Make default pthread_attr_t match the
conditionals in the version in newlib. This way it will always be
right.
|
| |
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
PR 1260/cpukit
* posix/src/pthread.c: Get initial signals blocked from creating
thread not from ourselves.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
PR 294/rtems
* posix/src/pthread.c: POSIX thread exit handler now confirms that it
created the executing thread before implicitly exitting it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* Per PR142, make task switch extension its own list.
* src/pthread.c (_POSIX_Threads_User_extensions): Reflect above.
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
to initialize the pthread cancellation fields. This is a patch to
_POSIX_Threads_Create_extension that fixes the problem.
|
|
|
|
|
| |
support for return codes from POSIX threads that do an implicit exit
by returning from the bottom of the main function.
|
|
|
|
| |
of POSIX Init thread to be user configured.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Ada interface where entry is a keyword.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
stack size so more of acvc would pass.
|