| Commit message (Collapse) | Author | Files | Lines |
|
For semaphore object pointer and object validation see
POSIX_SEMAPHORE_VALIDATE_OBJECT().
Destruction or close of a busy semaphore returns an error status. The
object is not flushed.
POSIX semaphores are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3116.
|
|
Since we have only one process, sharing between processes is trivial.
Close #3124.
|
|
|
|
Use proper CORE_semaphore_Status for _CORE_semaphore_Flush() and
_CORE_semaphore_Destroy() operations.
Close #2696.
|
|
|
|
Remove the Thread_queue_Queue::operations field to reduce the size of
this structure. Add a thread queue operations parameter to the
_Thread_queue_First(), _Thread_queue_First_locked(),
_Thread_queue_Enqueue(), _Thread_queue_Dequeue() and
_Thread_queue_Flush() functions. This is a preparation patch to reduce
the size of several synchronization objects.
|
|
Rename _POSIX_Absolute_timeout_to_ticks() to
_TOD_Absolute_timeout_to_ticks() and move it to the score directory.
Delete empty <rtems/posix/time.h>.
|
|
Use allocator mutex for objects allocate/free. This prevents that the
thread dispatch latency depends on the workspace/heap fragmentation.
|
|
|
|
Move implementation specific parts of object.h and object.inl into new
header file objectimpl.h. The object.h contains now only the
application visible API.
|
|
Move implementation specific parts of semaphore.h and semaphore.inl into
new header file semaphoreimpl.h. The semaphore.h contains now only the
application visible API.
|
|
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7945218
|
|
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/mqueuenametoid.c,
posix/src/semaphorenametoid.c: Removed files.
* posix/src/psxnametoid.c: New file.
* posix/Makefile.am: Reflect changes above.
* posix/include/rtems/posix/config.h: Fixed integer types.
* posix/include/rtems/posix/posixapi.h: Declare _POSIX_Name_to_id().
* posix/include/rtems/posix/mqueue.h,
posix/inline/rtems/posix/mqueue.inl: Changed parameter of
_POSIX_Message_queue_Create_support().
_POSIX_Message_queue_Name_to_id() is now inline.
* posix/include/rtems/posix/semaphore.h,
posix/inline/rtems/posix/semaphore.inl: Changed parameter of
_POSIX_Semaphore_Create_support(). _POSIX_Semaphore_Name_to_id() is
now inline.
* posix/src/mqueuecreatesupp.c, posix/src/semaphorecreatesupp.c: Use
_Workspace_String_duplicate().
* posix/src/mqueuesendsupp.c, posix/src/mqueueopen.c,
posix/src/mqueueunlink.c, posix/src/seminit.c, posix/src/semopen.c,
posix/src/semunlink.c: Update due to API changes.
|
|
* posix/src/mqueuecreatesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/semaphorecreatesupp.c: Tinker with
error handling for name too long. Use strnlen to ensure we do not run
off the end of the maximum length string.
|
|
|
|
* itron/include/rtems/itron/object.h, itron/src/cre_tsk.c,
libblock/src/show_bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/monitor/mon-manager.c,
libmisc/stackchk/check.c, posix/src/condinit.c,
posix/src/keycreate.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/mqueueunlink.c,
posix/src/mutexinit.c, posix/src/pbarrierinit.c,
posix/src/prwlockinit.c, posix/src/pspininit.c,
posix/src/pthreadcreate.c, posix/src/pthreadexit.c,
posix/src/semaphorecreatesupp.c, posix/src/semaphorenametoid.c,
posix/src/timercreate.c, rtems/src/barrierident.c,
rtems/src/dpmemident.c, rtems/src/msgqident.c, rtems/src/partident.c,
rtems/src/ratemonident.c, rtems/src/regionident.c,
rtems/src/semident.c, rtems/src/taskident.c, rtems/src/timerident.c,
sapi/src/extensionident.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/apimutexallocate.c,
score/src/objectextendinformation.c,
score/src/objectgetnameasstring.c, score/src/objectmp.c,
score/src/objectnametoid.c: Convert the Objects_Name type from a
simple type to a union of an unsigned 32 bit integer and a pointer.
This should help eliminate weird casts between u32 and pointers in
various places. The APIs now have to explicitly call _u32 or _string
versions of helper routines. This should also simplify things and
eliminate the need for ugly casts in some cases.
* score/src/objectclearname.c, score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c: Removed.
|
|
* posix/Makefile.am, posix/src/clockgetcpuclockid.c,
posix/src/clockgetenableattr.c, posix/src/clockgettime.c,
posix/src/clocksetenableattr.c, posix/src/clocksettime.c,
posix/src/devctl.c, posix/src/execl.c, posix/src/execle.c,
posix/src/execlp.c, posix/src/execv.c, posix/src/execve.c,
posix/src/execvp.c, posix/src/fork.c, posix/src/mutexinit.c,
posix/src/pthreadatfork.c, posix/src/pthreadgetcpuclockid.c,
posix/src/pthreadkill.c, posix/src/semaphorecreatesupp.c,
posix/src/sysconf.c, posix/src/wait.c, posix/src/waitpid.c: Split
files into one function per file.
* posix/src/aio_cancel.c, posix/src/aio_error.c, posix/src/aio_fsync.c,
posix/src/aio_read.c, posix/src/aio_return.c,
posix/src/aio_suspend.c, posix/src/aio_write.c,
posix/src/lio_listio.c, posix/src/sched_getparam.c,
posix/src/sched_getprioritymax.c, posix/src/sched_getprioritymin.c,
posix/src/sched_getscheduler.c, posix/src/sched_rr_get_interval.c,
posix/src/sched_setparam.c, posix/src/sched_setscheduler.c,
posix/src/sched_yield.c: New files.
* posix/src/aio.c, posix/src/sched.c, posix/src/types.c: Removed.
|
|
* posix/Makefile.am, posix/preinstall.am, posix/src/cancel.c,
posix/src/conddestroy.c, posix/src/condinit.c,
posix/src/condsignalsupp.c, posix/src/condwaitsupp.c,
posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c,
posix/src/mqueuenotify.c, posix/src/mqueuerecvsupp.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
posix/src/mqueueunlink.c, posix/src/mutexattrdestroy.c,
posix/src/mutexattrgetprioceiling.c,
posix/src/mutexattrgetprotocol.c, posix/src/mutexattrgetpshared.c,
posix/src/mutexattrinit.c, posix/src/mutexattrsetprioceiling.c,
posix/src/mutexattrsetprotocol.c, posix/src/mutexattrsetpshared.c,
posix/src/mutexdefaultattributes.c, posix/src/mutexdestroy.c,
posix/src/mutexgetprioceiling.c, posix/src/mutexinit.c,
posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
posix/src/mutexunlock.c, posix/src/semaphorecreatesupp.c,
posix/src/semaphoredeletesupp.c, posix/src/semaphorewaitsupp.c,
posix/src/semclose.c, posix/src/semdestroy.c,
posix/src/semgetvalue.c, posix/src/sempost.c, posix/src/semunlink.c,
posix/src/types.c, score/cpu/powerpc/rtems/old-exceptions/cpu.h:
Remove all pretense of POSIX MP support. The support in place was
only a shell. This should make maintenance easier.
* posix/include/rtems/posix/condmp.h,
posix/include/rtems/posix/mqueuemp.h,
posix/include/rtems/posix/mutexmp.h,
posix/include/rtems/posix/pthreadmp.h,
posix/include/rtems/posix/semaphoremp.h, posix/src/condmp.c,
posix/src/mutexmp.c, posix/src/semaphoremp.c: Removed.
|
|
* posix/src/semaphorecreatesupp.c: Fixed warning.
|
|
PR 1261/cpukit
* posix/src/semaphorecreatesupp.c: Initialize all fields during
semaphore creation.
|
|
|
|
* 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.
|
|
* src/clockgetres.c: Apply rtems_set_errno_and_return_minus_one.
* src/clockgettime.c: Apply rtems_set_errno_and_return_minus_one.
* src/clocksettime.c: Apply rtems_set_errno_and_return_minus_one.
* src/killinfo.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueueclose.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueuecreatesupp.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueuegetattr.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueuenotify.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueueopen.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueuerecvsupp.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueuesendsupp.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueuesetattr.c: Apply rtems_set_errno_and_return_minus_one.
* src/mqueueunlink.c: Apply rtems_set_errno_and_return_minus_one.
* src/nanosleep.c: Apply rtems_set_errno_and_return_minus_one.
* src/pthreadkill.c: Apply rtems_set_errno_and_return_minus_one.
* src/pthreadsigmask.c: Apply rtems_set_errno_and_return_minus_one.
* src/ptimer1.c: Apply rtems_set_errno_and_return_minus_one.
* src/sched.c: Apply rtems_set_errno_and_return_minus_one.
* src/semaphorecreatesupp.c: Apply rtems_set_errno_and_return_minus_one.
* src/semaphorewaitsupp.c: Apply rtems_set_errno_and_return_minus_one.
* src/semclose.c: Apply rtems_set_errno_and_return_minus_one.
* src/semdestroy.c: Apply rtems_set_errno_and_return_minus_one.
* src/semgetvalue.c: Apply rtems_set_errno_and_return_minus_one.
* src/seminit.c: Apply rtems_set_errno_and_return_minus_one.
* src/semopen.c: Apply rtems_set_errno_and_return_minus_one.
* src/sempost.c: Apply rtems_set_errno_and_return_minus_one.
* src/semunlink.c: Apply rtems_set_errno_and_return_minus_one.
* src/setpgid.c: Apply rtems_set_errno_and_return_minus_one.
* src/setsid.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigaction.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigaddset.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigdelset.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigemptyset.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigfillset.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigismember.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigpending.c: Apply rtems_set_errno_and_return_minus_one.
* src/sigtimedwait.c: Apply rtems_set_errno_and_return_minus_one.
* src/utsname.c: Apply rtems_set_errno_and_return_minus_one.
|
|
* 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.
|
|
* Many files: Moved posix/include/rtems/posix/seterr.h to
score/include/rtems/seterr.h so it would be available within
all APIs.
|
|
|
|
|
|
|
|
|