Commit Graph

28 Commits

Author SHA1 Message Date
Sebastian Huber
07332ae4db score: _Thread_queue_Enqueue_with_handler()
Add thread parameter to _Thread_queue_Enqueue_with_handler() to avoid
access to global _Thread_Executing.
2013-08-23 12:54:03 +02:00
Sebastian Huber
a1123646ac score: Create threadq implementation header
Move implementation specific parts of tqdata.h, threadq.h and
threadq.inl into new header file threadqimpl.h.  The threadq.h contains
now only the application visible API.

Delete tqdata.h.
2013-07-26 11:55:45 +02:00
Sebastian Huber
0c5317d16c posix: Create pthread implementation header
Move implementation specific parts of pthread.h and pthread.inl into new
header file pthreadimpl.h.  The pthread.h contains now only the
application visible API.
2013-07-22 16:57:23 +02:00
Sebastian Huber
5f7757b05b posix: Use _Thread_Get_executing() 2013-07-22 16:45:59 +02:00
Sebastian Huber
a1b4752869 posix: Include missing header files 2013-07-22 16:45:58 +02:00
Joel Sherrill
5cb175bb52 cpukit/posix: Doxygen group is POSIXAPI 2013-01-10 17:06:47 -06:00
Alex Ivanov
e49a36cb0b posix: Doxygen Enhancement Task #5
http://www.google-melange.com/gci/task/view/google/gci2012/7959229
2012-12-15 09:54:10 -05:00
Sebastian Huber
f9340ed7f4 posix: Add and use <rtems/posix/psignalimpl.h>
This file contains the parts of <rtems/posix/psignal.h> that are only
necessary for the POSIX API implementation.
2012-12-05 18:07:05 +01:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
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.
2012-05-11 08:44:13 -05:00
Ralf Corsepius
0a752f4e93 2011-12-10 Ralf Corsépius <ralf.corsepius@rtems.org>
* posix/src/sigtimedwait.c: Make _POSIX_signals_Get_lowest static.
2011-12-10 03:56:16 +00:00
Joel Sherrill
1102485cbb 2010-07-27 Vinu Rajashekhar <vinutheraj@gmail.com>
PR 1630/cpukit
	* posix/src/psignalchecksignal.c, posix/src/sigtimedwait.c:
	sigtimedwait() was not completely following the POSIX specification.
2010-07-27 16:34:26 +00:00
Ralf Corsepius
1de949a8bd Whitespace removal. 2009-11-30 15:49:52 +00:00
Joel Sherrill
ecdbb4259e 2009-07-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* posix/src/sigtimedwait.c: Restructure to improve coverage. Improve
	comments.
2009-07-03 18:40:31 +00:00
Ralf Corsepius
f8437c81d5 Convert to "bool". 2008-09-04 15:23:12 +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
412dbff629 2007-04-05 Joel Sherrill <joel@OARcorp.com>
* 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.
2007-04-05 21:17:27 +00:00
Ralf Corsepius
874297f3be Remove stray white spaces. 2004-04-16 10:01:03 +00:00
Ralf Corsepius
e7bd66a799 2003-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/cancelrun.c, src/pthreadexit.c, src/pthreadjoin.c,
	src/sigtimedwait.c: Remove unnecessary typecasts in assignments to
	thread->Wait.return_argument.
2003-10-21 09:39:11 +00:00
Joel Sherrill
8e36f29420 2003-09-04 Joel Sherrill <joel@OARcorp.com>
* include/rtems/posix/cond.h, include/rtems/posix/condmp.h,
	include/rtems/posix/config.h, include/rtems/posix/intr.h,
	include/rtems/posix/key.h, include/rtems/posix/mqueue.h,
	include/rtems/posix/mqueuemp.h, include/rtems/posix/mutex.h,
	include/rtems/posix/mutexmp.h, include/rtems/posix/posixapi.h,
	include/rtems/posix/pthread.h, include/rtems/posix/pthreadmp.h,
	include/rtems/posix/ptimer.h, include/rtems/posix/semaphore.h,
	include/rtems/posix/semaphoremp.h, inline/rtems/posix/cond.inl,
	inline/rtems/posix/intr.inl, inline/rtems/posix/key.inl,
	inline/rtems/posix/mqueue.inl, inline/rtems/posix/mutex.inl,
	inline/rtems/posix/pthread.inl, inline/rtems/posix/semaphore.inl,
	inline/rtems/posix/timer.inl, macros/rtems/posix/cond.inl,
	macros/rtems/posix/intr.inl, macros/rtems/posix/key.inl,
	macros/rtems/posix/mqueue.inl, macros/rtems/posix/mutex.inl,
	macros/rtems/posix/pthread.inl, macros/rtems/posix/semaphore.inl,
	macros/rtems/posix/timer.inl, src/alarm.c, src/kill.c,
	src/killinfo.c, src/mqueuetranslatereturncode.c, src/pause.c,
	src/pthreadattrdestroy.c, src/pthreadattrgetdetachstate.c,
	src/pthreadattrgetinheritsched.c, src/pthreadattrgetschedparam.c,
	src/pthreadattrgetschedpolicy.c, src/pthreadattrgetscope.c,
	src/pthreadattrgetstackaddr.c, src/pthreadattrgetstacksize.c,
	src/pthreadattrinit.c, src/pthreadattrsetdetachstate.c,
	src/pthreadattrsetinheritsched.c, src/pthreadattrsetschedparam.c,
	src/pthreadattrsetschedpolicy.c, src/pthreadattrsetscope.c,
	src/pthreadattrsetstackaddr.c, src/pthreadattrsetstacksize.c,
	src/pthreadcreate.c, src/pthreaddetach.c, src/pthreadequal.c,
	src/pthreadexit.c, src/pthreadgetcpuclockid.c,
	src/pthreadgetcputime.c, src/pthreadgetschedparam.c,
	src/pthreadjoin.c, src/pthreadkill.c, src/pthreadonce.c,
	src/pthreadself.c, src/pthreadsetcputime.c,
	src/pthreadsetschedparam.c, src/pthreadsigmask.c, src/sigaction.c,
	src/sigaddset.c, src/sigdelset.c, src/sigemptyset.c,
	src/sigfillset.c, src/sigismember.c, src/signal_2.c,
	src/sigpending.c, src/sigprocmask.c, src/sigqueue.c,
	src/sigsuspend.c, src/sigtimedwait.c, src/sigwait.c,
	src/sigwaitinfo.c, src/ualarm.c: URL for license changed.
2003-09-04 18:54:26 +00:00
Joel Sherrill
e180a77edd 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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.
2002-01-04 18:28:24 +00:00
Joel Sherrill
f42b726174 2001-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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.
2001-01-24 14:17:28 +00:00
Joel Sherrill
781262bb5b 2000-10-30 Joel Sherrill <joel@OARcorp.com>
* include/Makefile.am: Updated to reflect files merged into newlib.
	This resulted in some definitions moving to other files and thus
	some secondary effects in RTEMS source code.
	* include/unistd.h: Removed.  Now use newlib's.
	* include/rtems/posix/mqueue.h: Add include of <signal.h>.
	* include/rtems/posix/threadsup.h: Add include of <sys/signal.h>
	* src/execv.c: Corrected prototype to agree with newlib.
	* src/execve.c: Corrected prototype to agree with newlib.
	* src/execvp.c: Corrected prototype to agree with newlib.
	* src/psignal.c: Rewrote reference to <siginfo.h> in comment since
	that file no longer exists.
	* src/pthreadkill.c: Added include of <signal.h>.
	* src/sigaction.c: Added include of <signal.h>.
	* src/sigtimedwait.c: Rewrote reference to <siginfo.h> in comment since
	that file no longer exists.
	*
2000-10-31 16:33:48 +00:00
Joel Sherrill
188c82b412 2000-08-30 Joel Sherrill <joel@OARcorp.com>
* Many files: Moved posix/include/rtems/posix/seterr.h to
	score/include/rtems/seterr.h so it would be available within
	all APIs.
2000-08-30 17:12:55 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill
4fa5eaee52 This code did not return properly when a process oriented signal
was pending.  Reported by Wayne Bullaughey <wayneb@cacdsp.com>.
2000-01-11 15:42:05 +00:00
Joel Sherrill
08311cc3a9 Updated copyright notice. 1999-11-17 17:51:34 +00:00
Joel Sherrill
aee3d6896a POSIX timer support modifications. 1999-02-10 17:03:46 +00:00
Joel Sherrill
07d880f4bc Split psignal.c into many more files. This reduced the amount of
object code that has to be loaded just for initializing the signal
manager.
1999-01-31 20:45:31 +00:00