Commit Graph

11 Commits

Author SHA1 Message Date
Joel Sherrill
3507c6df70 2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* 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.
2009-01-05 20:26:01 +00:00
Joel Sherrill
6a0898bba3 2008-07-18 Joel Sherrill <joel.sherrill@oarcorp.com>
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
2008-07-18 18:45:56 +00:00
Joel Sherrill
feaa007839 2007-12-17 Joel Sherrill <joel.sherrill@OARcorp.com>
* posix/preinstall.am, posix/include/aio.h, posix/include/devctl.h,
	posix/include/mqueue.h, posix/include/sched.h,
	posix/include/semaphore.h, posix/include/rtems/posix/cancel.h,
	posix/include/rtems/posix/priority.h,
	posix/include/rtems/posix/psignal.h,
	posix/include/rtems/posix/threadsup.h,
	posix/include/rtems/posix/timer.h,
	posix/inline/rtems/posix/priority.inl,
	posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c,
	posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c,
	posix/src/cancel.c, posix/src/cancelrun.c, posix/src/cleanuppop.c,
	posix/src/cleanuppush.c, posix/src/cond.c,
	posix/src/condattrdestroy.c, posix/src/condattrgetpshared.c,
	posix/src/condattrinit.c, posix/src/condattrsetpshared.c,
	posix/src/condbroadcast.c, posix/src/conddefaultattributes.c,
	posix/src/conddestroy.c, posix/src/condinit.c,
	posix/src/condsignal.c, posix/src/condsignalsupp.c,
	posix/src/condwait.c, posix/src/condwaitsupp.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/mqueue.c,
	posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c,
	posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c,
	posix/src/mqueuenametoid.c, posix/src/mqueuenotify.c,
	posix/src/mqueueopen.c, posix/src/mqueuereceive.c,
	posix/src/mqueuerecvsupp.c, posix/src/mqueuesend.c,
	posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
	posix/src/mqueueunlink.c, posix/src/mutex.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/mutexlock.c,
	posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
	posix/src/mutextrylock.c, posix/src/mutexunlock.c,
	posix/src/psignal.c, posix/src/psignalchecksignal.c,
	posix/src/psignalclearprocesssignals.c,
	posix/src/psignalclearsignals.c,
	posix/src/psignalsetprocesssignals.c,
	posix/src/psignalunblockthread.c, posix/src/ptimer.c,
	posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c,
	posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c,
	posix/src/semaphore.c, posix/src/semaphoredeletesupp.c,
	posix/src/semaphorenametoid.c, posix/src/semaphorewaitsupp.c,
	posix/src/semclose.c, posix/src/semdestroy.c,
	posix/src/semgetvalue.c, posix/src/seminit.c, posix/src/semopen.c,
	posix/src/sempost.c, posix/src/semtrywait.c, posix/src/semunlink.c,
	posix/src/semwait.c, posix/src/setcancelstate.c,
	posix/src/setcanceltype.c, posix/src/sysconf.c,
	posix/src/testcancel.c: Add missing copyright statements.
2007-12-17 16:19:14 +00:00
Ralf Corsepius
fffda815c0 ssize_t mq_timedreceive() (POSIX compliance) 2005-08-15 15:12:27 +00:00
Ralf Corsepius
5ec2f12d86 New header guards. 2005-02-21 07:20:13 +00:00
Ralf Corsepius
0ff3df0345 2004-12-10 Ralf Corsepius <ralf.corsepius@rtems.org>
* posix/include/aio.h, posix/include/devctl.h,
	posix/include/intr.h, posix/include/mqueue.h,
	posix/include/sched.h, posix/include/semaphore.h,
	posix/src/ptimer.c, posix/src/ptimer1.c:
	Include <unistd.h> instead of <sys/features.h> to pick up
	_POSIX_* defines (Mandated by POSIX).
2004-12-10 04:17:50 +00:00
Ralf Corsepius
6c2675dfb2 Add doxygen preamble. 2004-11-21 06:27:15 +00:00
Ralf Corsepius
874297f3be Remove stray white spaces. 2004-04-16 10:01:03 +00:00
Joel Sherrill
c7aa9d6ff8 Repairing damage and recovering changes including C++ wrappers.. 1999-04-26 18:22:08 +00:00
Joel Sherrill
eb5a7e07df fixed missing CVS IDs 1995-10-06 20:48:38 +00:00
Joel Sherrill
5e9b32b439 posix support initially added 1995-09-26 19:27:15 +00:00