* 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.
* 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.
PR 841/rtems
* itron/inline/rtems/itron/semaphore.inl, itron/src/twai_sem.c,
posix/include/rtems/posix/semaphore.h,
posix/inline/rtems/posix/semaphore.inl,
posix/src/semaphorewaitsupp.c, posix/src/semtimedwait.c,
posix/src/semwait.c, rtems/src/semobtain.c,
rtems/src/semtranslatereturncode.c,
score/include/rtems/score/coresem.h, score/src/coresemseize.c: Make
sem_timedwait more conformant to Open Group specification.
* libblock/include/rtems/bdbuf.h: Include <rtems/chain.h> instead of <chain.h>.
* libblock/include/rtems/ide_part_table.h: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/malloc.c: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/mount.c: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/unmount.c: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs.h: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs_directory.c: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs_load_tar.c: Include <rtems/chain.h> instead of <chain.h>.
* sapi/include/confdefs.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
* sapi/include/confdefs.h: Include <rtems/console.h> instead of <console.h>.
* libfs/src/imfs/imfs_load_tar.c: Include <rtems/imfs.h> instead of <imfs.h>.
* libmisc/shell/cmds.c: Include <rtems/imfs.h> instead of <imfs.h>.
* libmisc/fsmount/fsmount.c: Include <rtems/imfs.h> instead of <imfs.h>.
* sapi/include/confdefs.h: Include <rtems/imfs.h> instead of <imfs.h>.
* itron/src/can_wup.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/chg_pri.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/dis_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ena_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/eventflags.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/exd_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ext_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/fmempool.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/frsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/get_tid.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itronintr.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itronsem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itrontime.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/mbox.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/mboxtranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/msgbuffer.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/msgbuffertranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/network.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/port.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/prcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/prcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/preq_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/psnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rel_wai.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rot_rdq.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sig_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/slp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/snd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/snd_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sta_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sus_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sysmgmt.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/task.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ter_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/trcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/trcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/tslp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/tsnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/twai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/vmempool.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/wai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/wup_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/rtems/config.h: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/confdefs.h: Include <rtems/itron.h> instead of <itron.h>.
* sapi/src/itronapi.c: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/confdefs.h: Include <rtems/rtc.h> instead of <rtc.h>.
* sapi/include/confdefs.h: Include <rtems/timerdrv.h> instead of <timerdrv.h>.