summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/sigtimedwait.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score: Add local context to SMP lock APISebastian Huber2014-03-111-5/+5
| | | | | | | | | | | Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
* signal methods: Add restrict keywordBryan Dunsmore2013-11-291-3/+3
|
* posix: Add and use _POSIX_signals_Acquire()Sebastian Huber2013-08-271-6/+14
| | | | | | Add and use _POSIX_signals_Release(). The post-switch handler is not protected by disabled thread dispatching. Use proper SMP lock for signal management.
* score: _Thread_queue_Enqueue_with_handler()Sebastian Huber2013-08-231-1/+1
| | | | | Add thread parameter to _Thread_queue_Enqueue_with_handler() to avoid access to global _Thread_Executing.
* score: Create threadq implementation headerSebastian Huber2013-07-261-2/+1
| | | | | | | | 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.
* posix: Create pthread implementation headerSebastian Huber2013-07-221-1/+1
| | | | | | 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.
* posix: Use _Thread_Get_executing()Sebastian Huber2013-07-221-10/+9
|
* posix: Include missing header filesSebastian Huber2013-07-221-0/+1
|
* cpukit/posix: Doxygen group is POSIXAPIJoel Sherrill2013-01-101-1/+1
|
* posix: Doxygen Enhancement Task #5Alex Ivanov2012-12-151-2/+10
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/7959229
* posix: Add and use <rtems/posix/psignalimpl.h>Sebastian Huber2012-12-051-1/+1
| | | | | This file contains the parts of <rtems/posix/psignal.h> that are only necessary for the POSIX API implementation.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | 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.
* 2011-12-10 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-101-1/+1
| | | | * posix/src/sigtimedwait.c: Make _POSIX_signals_Get_lowest static.
* 2010-07-27 Vinu Rajashekhar <vinutheraj@gmail.com>Joel Sherrill2010-07-271-4/+15
| | | | | | PR 1630/cpukit * posix/src/psignalchecksignal.c, posix/src/sigtimedwait.c: sigtimedwait() was not completely following the POSIX specification.
* Whitespace removal.Ralf Corsepius2009-11-301-1/+1
|
* 2009-07-03 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-07-031-8/+24
| | | | | * posix/src/sigtimedwait.c: Restructure to improve coverage. Improve comments.
* Convert to "bool".Ralf Corsepius2008-09-041-4/+4
|
* 2008-07-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-07-181-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2007-04-05 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2007-04-051-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Remove stray white spaces.Ralf Corsepius2004-04-161-3/+3
|
* 2003-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-10-211-1/+1
| | | | | | * src/cancelrun.c, src/pthreadexit.c, src/pthreadjoin.c, src/sigtimedwait.c: Remove unnecessary typecasts in assignments to thread->Wait.return_argument.
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2001-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-01-241-0/+3
| | | | | | | * 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.
* 2000-10-30 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-10-311-1/+1
| | | | | | | | | | | | | | | | | | | * 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-08-30 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-08-301-1/+1
| | | | | | * Many files: Moved posix/include/rtems/posix/seterr.h to score/include/rtems/seterr.h so it would be available within all APIs.
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-121-14/+28
|
* This code did not return properly when a process oriented signalJoel Sherrill2000-01-111-6/+5
| | | | was pending. Reported by Wayne Bullaughey <wayneb@cacdsp.com>.
* Updated copyright notice.Joel Sherrill1999-11-171-2/+1
|
* POSIX timer support modifications.Joel Sherrill1999-02-101-0/+8
|
* Split psignal.c into many more files. This reduced the amount ofJoel Sherrill1999-01-311-0/+117
object code that has to be loaded just for initializing the signal manager.