| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
PR 1393/cpukit
* posix/src/mutextranslatereturncode.c: Add entry to table for
CORE_MUTEX_RELEASE_NOT_ORDER.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libcsupport/src/gxx_wrappers.c, posix/include/mqueue.h,
posix/include/rtems/posix/semaphore.h,
posix/inline/rtems/posix/barrier.inl,
posix/inline/rtems/posix/key.inl,
posix/inline/rtems/posix/mqueue.inl,
posix/inline/rtems/posix/rwlock.inl,
posix/inline/rtems/posix/semaphore.inl,
posix/inline/rtems/posix/spinlock.inl,
posix/inline/rtems/posix/timer.inl, posix/src/condget.c,
posix/src/mqueuenametoid.c, posix/src/mutexget.c,
posix/src/semaphorenametoid.c, posix/src/semopen.c,
sapi/src/itronapi.c, sapi/src/posixapi.c: Make changes necessary for
all tests to run on SPARC with 16-bit Ids. This required ensuring
that all POSIX and compilering binding code makes a distinction
between the public Id type (e.g. pthread_t, etc.) and the RTEMS
Object_Id type. All POSIX Object Get routines should not take the
POSIX Id type as the argument. Sixteen bit RTEMS Ids should be placed
into the 32-bits reserved by the POSIX API type in a uniform manner
now. This removed all assumptions that the external Id types in POSIX
and ITRON are the same as the internal Object Id type.
|
|
|
|
|
| |
* posix/include/rtems/posix/key.h: Remove redundant prototypes for
inlines.
|
| |
|
| |
|
|
|
|
| |
* posix/include/rtems/posix/config.h: Fix typo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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, posix/src/adjtime.c,
posix/src/clockgetres.c, posix/src/sysconf.c,
rtems/src/clockgettickspersecond.c, rtems/src/clockgettod.c,
rtems/src/clockset.c, rtems/src/clocktodvalidate.c,
score/src/timespecfromticks.c, score/src/timespectoticks.c,
score/src/ts64toticks.c: More case converted to use configuration
table entry not _TOD_Microseconds_per_tick.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/include/rtems/itron/itronapi.h, libmisc/capture/capture.c,
libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c,
libmisc/monitor/mon-itask.c, libmisc/monitor/mon-mpci.c,
posix/include/rtems/posix/config.h,
posix/include/rtems/posix/posixapi.h,
rtems/include/rtems/rtems/config.h,
rtems/include/rtems/rtems/rtemsapi.h, rtems/src/taskinitusers.c,
sapi/include/confdefs.h, sapi/include/rtems/config.h,
sapi/include/rtems/init.h, sapi/src/exinit.c, sapi/src/itronapi.c,
sapi/src/posixapi.c, sapi/src/rtemsapi.c, score/src/isr.c,
score/src/thread.c, score/src/threadcreateidle.c,
score/src/threadstackallocate.c, score/src/threadstackfree.c,
score/src/wkspace.c: Eliminate pointers to API configuration tables
in the main configuration table. Reference the main configuration
table and the API configuration tables directly using the confdefs.h
version rather than obtaining a pointer to it. This eliminated some
variables, a potential fatal error, some unnecessary default
configuration structures. Overall, about a 4.5% reduction in the code
size for minimum and hello on the SPARC.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/src/chg_pri.c, itron/src/cre_tsk.c, itron/src/rot_rdq.c,
posix/Makefile.am, posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/priority.h, posix/src/mutex.c,
score/include/rtems/score/priority.h: Run all tests successfully with
maxixum number of priorities as 16 instead of 256. This was done by
temporarily modifying the score priority.h maximum. This allowed
testing of all API code to ensure that it worked properly with a
reduced number of priorities. Most modifications were to switch from
hard-coded maximum to using the SuperCore variable based upon
configured number.
* posix/src/mutexdefaultattributes.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* score/include/rtems/score/timespec.h: Remove unnecessary includes.
Fix typo.
* posix/include/rtems/posix/time.h, score/src/coretodget.c,
score/src/coretodgetuptime.c: Add required include files which
were formerly included from timespec.h
|
|
|
|
|
| |
* posix/Makefile.am: Unconditionally compile files which now
are in newlib.
|
| |
|
|
|
|
|
| |
* posix/include/rtems/posix/psignal.h: Fix typo in converting method
from macro to static inline.
|
|
|
|
|
|
| |
* posix/Makefile.am, posix/include/rtems/posix/psignal.h: Add stubs for
gettimer() and setitimer().
* posix/src/getitimer.c, posix/src/setitimer.c: New files.
|
|
|
|
|
|
| |
* libcsupport/Makefile.am, posix/Makefile.am: Comment out including
files which contain routines which are now provided by the newlib
posix subdirectory. Document a few which come from the unix directory.
|
|
|
|
|
|
| |
PR 1306/cpukit
* posix/inline/rtems/posix/priority.inl: Eliminate hard coded numbers
in favor of existing macros.
|
|
|
|
|
| |
* posix/Makefile.am: Add dummy vfork() implementation.
* posix/src/vfork.c: New file.
|
|
|
|
|
|
| |
* posix/Makefile.am: Add _execve() so we can use newlib posix support
directory and eliminate code in RTEMS.
* posix/src/_execve.c: New file.
|
| |
|
|
|
|
|
| |
* posix/Makefile.am, rtems/src/tasksetpriority.c: Improve comments and
wrapping.
|
|
|
|
|
|
|
|
| |
PR 1296/cpukit.
* posix/src/timersettime.c: POSIX timers use incorrect repeat interval.
This patch fixes the following problems in timer_settime: 1) Uses
value.it_interval for repeat period. 2) Corrects test for incorrect
value of it_value.tv_nsec (should reject 1000000000).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
PR 1297/cpukit
* posix/src/prwlockinit.c: Fix NULL attribute pointer handling.
|
|
|
|
|
| |
* posix/src/mqueuetimedreceive.c, posix/src/mqueuetimedsend.c: Fix
warnings.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1291/cpukit
* itron/inline/rtems/itron/semaphore.inl, itron/src/twai_sem.c,
posix/include/mqueue.h, posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/time.h, posix/src/condtimedwait.c,
posix/src/mqueuereceive.c, posix/src/mqueuerecvsupp.c,
posix/src/mqueuesend.c, posix/src/mqueuesendsupp.c,
posix/src/mqueuetimedreceive.c, posix/src/mqueuetimedsend.c,
posix/src/mutextimedlock.c, posix/src/mutextranslatereturncode.c,
posix/src/posixtimespecabsolutetimeout.c,
posix/src/prwlocktimedrdlock.c, posix/src/prwlocktimedwrlock.c,
posix/src/semaphoretranslatereturncode.c,
posix/src/semaphorewaitsupp.c, posix/src/semtimedwait.c,
posix/src/semtrywait.c, posix/src/semwait.c,
posix/src/sigtimedwait.c, posix/src/timersettime.c,
posix/src/ualarm.c, rtems/src/semobtain.c,
rtems/src/semtranslatereturncode.c,
score/include/rtems/score/coremutex.h,
score/include/rtems/score/coresem.h, score/src/coresemseize.c: This
patch addresses issues on implementation of the timeout on the
following POSIX services. Some of these services incorrectly took a
timeout as a relative time. Others would compute a 0 delta to timeout
if the absolute time and the current time were equal and thus
incorrectly block the caller forever. The root of the confusion is
that POSIX specifies that if the timeout is incorrect (e.g. in the
past, is now, or is numerically invalid), that it does not matter if
the call would succeed without blocking. This is in contrast to RTEMS
programming style where all errors are checked before any critical
sections are entered. This fix implemented a more uniform way of
handling POSIX absolute time timeouts.
+ pthread_cond_timedwait - could block forever
+ mq_timedreceive - used relative not absolute time
+ mq_timedsend - used relative not absolute time
+ pthread_mutex_timedlock - used relative not absolute time
+ pthread_rwlock_timedrdlock- used relative not absolute time
+ pthread_rwlock_timedwrlock- used relative not absolute time
+ sem_timedwait - could block forever
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* posix/src/psignal.c: Do not allocate any memory for queued signals if
the configuration parameter is 0. Before we would end up with an
allocation of 0 which rounded up and wasted some memory when POSIX
was configured.
|
|
|
|
|
|
| |
reduce size of data area.
IMFS: Fixed creation of symbolic links to avoid a compiler warning.
DOSFS: Use LibBlock instead of read() to read the boot record.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/keycreate.c, posix/src/pthreadequal.c,
rtems/src/semtranslatereturncode.c,
score/cpu/powerpc/rtems/score/powerpc.h,
score/src/threadblockingoperationcancel.c: Fix compilation errors
when --enable-rtems-debug is used.
|
|
|
|
|
|
| |
* posix/src/key.c: Include <limits.h>
* posix/src/psignal.c, rtems/src/tasks.c: Do not attempt to process
a NULL extension block.
|
|
|
|
|
| |
* posix/Makefile.am: Make clock_settime() available always just like
clock_gettime().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/include/rtems/itron/task.h, itron/src/cre_tsk.c,
posix/src/pthreadcreate.c, rtems/src/taskcreate.c,
rtems/src/taskdelete.c, rtems/src/timerserver.c,
score/src/threadclose.c, score/src/threadcreateidle.c,
score/src/threadinitialize.c: Switch task create and delete
operations to using API Allocator Mutex. This moves almost all uses
of the RTEMS Workspace from dispatching disabled to mutex protected
which should improve deterministic behavior. The implementation was
carefully done to allow task create and delete extensions to invoke
more services. In particular, a task delete extension should be able
to do mutex and file operations.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/src/mqueueunlink.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl: Enhance
_Objects_Namespace_remove() to handle freeing object names which are
strings. All changed _Objects_Close() to call
_Objects_Namespace_remove(). The resulting code was then moved from
inline routines to function calls.
* score/src/objectclose.c, score/src/objectnamespaceremove.c: New files.
|
|
|
|
|
|
| |
* posix/src/clockgettime.c, posix/src/clocksettime.c,
Minor modifications to improve testability.
* posix/src/pthreadcreate.c: Add NULL check for thread entry.
|
|
|
|
| |
* posix/src/pthreadinitthreads.c: Clean up error paths.
|
|
|
|
|
| |
* libcsupport/preinstall.am, posix/preinstall.am: Revert temporary
changes which aid in coverage testing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* posix/src/timersettime.c: Fix to remove warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/src/exd_tsk.c, itron/src/task.c, libmisc/capture/capture.c,
libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c,
libmisc/monitor/mon-itask.c, libmisc/monitor/mon-monitor.c,
libmisc/monitor/mon-mpci.c, libmisc/monitor/mon-object.c,
libmisc/monitor/mon-symbols.c, posix/src/cancelrun.c,
posix/src/pthreadexit.c, rtems/Makefile.am, rtems/preinstall.am,
rtems/include/rtems.h, rtems/include/rtems/rtems/support.h,
rtems/inline/rtems/rtems/tasks.inl, rtems/src/eventmp.c,
rtems/src/msgmp.c, rtems/src/partmp.c, rtems/src/regionmp.c,
rtems/src/rtemsobjectgetname.c, rtems/src/semmp.c,
rtems/src/signalmp.c, rtems/src/taskdelete.c, rtems/src/taskmp.c,
rtems/src/timerserver.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/Unlimited.txt,
score/src/objectgetnameasstring.c,
score/src/threadqextractwithproxy.c: Add new Object Services
collection. This changed the name of a few previously public but
undocumented services and added a some new services.
* rtems/include/rtems/rtems/object.h, rtems/src/rtemsbuildid.c,
rtems/src/rtemsbuildname.c, rtems/src/rtemsobjectapimaximumclass.c,
rtems/src/rtemsobjectapiminimumclass.c,
rtems/src/rtemsobjectgetapiclassname.c,
rtems/src/rtemsobjectgetapiname.c,
rtems/src/rtemsobjectgetclassicname.c,
rtems/src/rtemsobjectgetclassinfo.c,
rtems/src/rtemsobjectidapimaximum.c,
rtems/src/rtemsobjectidapiminimum.c, rtems/src/rtemsobjectidgetapi.c,
rtems/src/rtemsobjectidgetclass.c, rtems/src/rtemsobjectidgetindex.c,
rtems/src/rtemsobjectidgetnode.c, rtems/src/rtemsobjectsetname.c,
score/src/objectapimaximumclass.c, score/src/objectgetinfo.c,
score/src/objectgetinfoid.c, score/src/objectsetname.c: New files.
* rtems/src/rtemsidtoname.c: Removed.
|
|
|
|
| |
* posix/src/mqueuesendsupp.c: Remove warning.
|