summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/killinfo.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-01-16cpukit: Remove or use unused variable assignmentsKinsey Moore1-1/+0
2023-10-13cpukit: Remove unused includesKinsey Moore1-1/+0
2022-02-28cpukit/posix/src/[a-o]*.c: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2020-04-28doxygen: Switch @brief and @ingroupSebastian Huber1-1/+2
This order change fixes the Latex documentation build via Doxygen.
2020-04-16Canonicalize config.h includeSebastian Huber1-1/+1
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2019-04-09Remove superfluous run-time checkSebastian Huber1-7/+1
The _Objects_Information_table[ the_api ] is never NULL for a valid API index.
2018-12-07score: Remove Objects_Information::maximumSebastian Huber1-1/+1
This information is already present in Objects_Information::maximum_id. Add and use _Objects_Get_maximum_index(). Update #3621.
2018-12-07score: Optimize object lookupSebastian Huber1-1/+1
Use the maximum ID for the ID to object translation. Using the maximum ID gets rid of an additional load from the object information in _Objects_Get(). In addition, object lookups fail for every ID in case the object information is cleared to zero. This makes it a bit more robust during system startup (see new tests in spconfig02). The local table no longer needs a NULL pointer entry at array index zero. Adjust all the object iteration loops accordingly. Remove Objects_Information::minimum_id since it contains only redundant information. Add _Objects_Get_minimum_id() to get the minimum ID. Update #3621.
2016-09-21score: Rework thread priority managementSebastian Huber1-1/+1
Add priority nodes which contribute to the overall thread priority. The actual priority of a thread is now an aggregation of priority nodes. The thread priority aggregation for the home scheduler instance of a thread consists of at least one priority node, which is normally the real priority of the thread. The locking protocols (e.g. priority ceiling and priority inheritance), rate-monotonic period objects and the POSIX sporadic server add, change and remove priority nodes. A thread changes its priority now immediately, e.g. priority changes are not deferred until the thread releases its last resource. Replace the _Thread_Change_priority() function with * _Thread_Priority_perform_actions(), * _Thread_Priority_add(), * _Thread_Priority_remove(), * _Thread_Priority_change(), and * _Thread_Priority_update(). Update #2412. Update #2556.
2016-09-08score: Introduce _Thread_Get_priority()Sebastian Huber1-6/+6
Avoid direct access to thread internal data fields.
2016-09-08score: Move thread wait node to scheduler nodeSebastian Huber1-1/+4
Update #2556.
2016-06-24score: Change Priority_Control to 64-bitSebastian Huber1-1/+1
A 32-bit Priority_Control limits the uptime to 49 days with a 1ms clock tick in case the EDF scheduler is used. Increase it to 64-bit to enable proper operation of the EDF scheduler, Close 2173.
2016-05-30score: _CORE_mutex_Check_dispatch_for_seize()Sebastian Huber1-4/+5
Move the safety check performed by _CORE_mutex_Check_dispatch_for_seize() out of the performance critical path and generalize it. Blocking on a thread queue with an unexpected thread dispatch disabled level is illegal in all system states. Add the expected thread dispatch disable level (which may be 1 or 2 depending on the operation) to Thread_queue_Context and use it in _Thread_queue_Enqueue_critical().
2016-05-02posix: Avoid Giant lock in _POSIX_signals_Send()Sebastian Huber1-5/+7
Update #2555. Update #2690.
2016-04-12posix: Rename killinfo()Sebastian Huber1-1/+1
Apparently killinfo() is not defined by POSIX, glibc or FreeBSD. Rename killinfo() to _POSIX_signals_Send() to cleary mark it as an internal function.
2016-04-06posix: Use proper lock for signalsSebastian Huber1-2/+10
2016-02-03Optional POSIX Threads initializationSebastian Huber1-10/+2
Update #2408.
2015-12-15posix: Store unblocked signalsSebastian Huber1-3/+3
Store the unblock signals to exploit the zero-initialization of the thread control block.
2015-07-23score: Introduce Thread_queue_HeadsSebastian Huber1-22/+25
Move the storage for the thread queue heads to the threads. Each thread provides a set of thread queue heads allocated from a dedicated memory pool. In case a thread blocks on a queue, then it lends its heads to the queue. In case the thread unblocks, then it takes a free set of threads from the queue. Since a thread can block on at most one queue this works. This mechanism is used in FreeBSD. The motivation for this change is to reduce the memory demands of the synchronization objects. On a 32-bit uni-processor configuration the Thread_queue_Control size is now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced the size as well).
2015-07-23score: Introduce Thread_queue_QueueSebastian Huber1-1/+1
Separate the thread queue heads and lock from the operations. This enables the support for light weight objects which only support one queuing discipline.
2015-05-19score: More thread queue operationsSebastian Huber1-1/+1
Move thread queue discipline specific operations into Thread_queue_Operations. Use a separate node in the thread control block for the thread queue to make it independent of the scheduler data structures. Update #2273.
2014-03-31posix: Use thread action for signalsSebastian Huber1-2/+0
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-07-26score: Create states implementation headerSebastian Huber1-2/+2
Move implementation specific parts of states.h and states.inl into new header file statesimpl.h. The states.h contains now only the application visible API.
2013-07-22posix: Create pthread implementation headerSebastian Huber1-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.
2013-01-10cpukit/posix: Doxygen group is POSIXAPIJoel Sherrill1-1/+1
2012-12-19posix: Doxygen Enhancement Task #3Ayush Awasthi1-0/+7
http://www.google-melange.com/gci/task/view/google/gci2012/8022219
2012-12-05posix: Add signal post switch extension on the flySebastian Huber1-0/+2
2012-12-05posix: Add and use <rtems/posix/psignalimpl.h>Sebastian Huber1-1/+1
This file contains the parts of <rtems/posix/psignal.h> that are only necessary for the POSIX API implementation.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-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.
2010-11-252010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-1/+1
* libfs/src/dosfs/fat_file.c, libfs/src/imfs/imfs_debug.c, libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_getchild.c, posix/src/killinfo.c, score/inline/rtems/score/schedulerpriority.inl, score/inline/rtems/score/watchdog.inl, score/src/apiext.c, score/src/chain.c, score/src/coremsgflushsupp.c, score/src/coremsginsert.c, score/src/objectshrinkinformation.c, score/src/schedulerpriorityyield.c, score/src/threadqdequeuepriority.c, score/src/threadqenqueuepriority.c, score/src/threadqextractpriority.c, score/src/threadqfirstfifo.c, score/src/threadqfirstpriority.c, score/src/threadyieldprocessor.c, score/src/userextthreadbegin.c, score/src/userextthreadcreate.c, score/src/userextthreaddelete.c, score/src/userextthreadrestart.c, score/src/userextthreadstart.c, score/src/userextthreadswitch.c, score/src/watchdogreportchain.c: Avoid chain API violations.
2010-08-292010-08-29 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill1-1/+1
* posix/src/killinfo.c: Ensure interested is non-NULL before using it.
2010-06-292010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-2/+0
PR 1573/cpukit * configure.ac, posix/src/killinfo.c, posix/src/psignalclearprocesssignals.c, posix/src/psignalsetprocesssignals.c, posix/src/psignalunblockthread.c, posix/src/pthreadcreate.c, posix/src/pthreadkill.c, posix/src/pthreadsigmask.c, rtems/src/signalsend.c, rtems/src/taskmode.c, score/Makefile.am, score/preinstall.am, score/include/rtems/system.h, score/include/rtems/score/context.h, score/include/rtems/score/isr.h, score/include/rtems/score/thread.h, score/src/isr.c, score/src/isrthreaddispatch.c, score/src/thread.c, score/src/threaddispatch.c, score/src/threadloadenv.c: Add a per cpu data structure which contains the information required by RTEMS for each CPU core. This encapsulates information such as thread executing, heir, idle and dispatch needed. * score/include/rtems/score/percpu.h, score/src/percpu.c: New files.
2010-06-212010-06-21 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* posix/src/keycreate.c, posix/src/killinfo.c: Remove more ITRON references.
2009-11-30Whitespace removal.Ralf Corsepius1-4/+4
2009-07-292009-07-29 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-1/+8
* posix/src/killinfo.c: Add _Thread_Enable_dispatch() on EAGAIN error case. Add debug print on loop processing threads waiting for signal. * posix/src/psignal.c: When the sigwait() Thread Queue processing loop was changed to FIFO, I forgot to change the initialization to match.
2009-07-242009-07-24 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-74/+83
* posix/src/killinfo.c: Rework to make easier to analyze for code coverage and to simplify so it is easier to analyze for correctness.
2009-07-222009-07-22 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-28/+16
* posix/src/killinfo.c: Clean up. Avoid NULL pointer case.
2009-06-292009-06-29 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+0
* posix/src/killinfo.c, posix/src/mutexinit.c, posix/src/psignal.c, posix/src/psignalchecksignal.c, posix/src/pthread.c, posix/src/pthreadexit.c, posix/src/pthreadinitthreads.c: Remove includes of <assert.h> where possible. Make other uses conditional on ifdef RTEMS_DEBUG.
2009-06-242009-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-9/+13
* posix/Makefile.am, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/pthread.h, posix/inline/rtems/posix/priority.inl, posix/src/killinfo.c, posix/src/pthread.c, posix/src/pthreadcreate.c, posix/src/pthreadsetschedparam.c: Various modifications to improve binary code coverage analysis. Some of these are to mark code as debug only. Some are to break conditional expressions into multiple lines. Some are to move inline methods that are not time critical into subroutines to make them easier to test. Inlining them multiple times means that their logic paths are spread across multiple methods. This explodes the test cases required. * posix/src/psxpriorityisvalid.c, posix/src/psxtransschedparam.c: New files.
2009-06-152009-06-15 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-5/+16
* posix/src/killinfo.c: Make easier to map coverage data.
2009-02-03Eliminate TRUE/FALSE.Ralf Corsepius1-1/+1
2008-09-04Convert to "bool".Ralf Corsepius1-1/+1
2007-12-202007-12-20 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-15/+12
* posix/src/killinfo.c: Clean up and eliminate some dead code paths.
2007-12-202007-12-20 Jennifer Averett <jennifer.averett@OARcorp.com>Jennifer Averett1-1/+1
* posix/Makefile.am, posix/src/kill.c, posix/src/killinfo.c: Split file and resolved copyright information. * posix/src/kill_r.c: New file.
2004-05-212004-05-21 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-4/+6
PR 628/rtems * posix/src/killinfo.c, posix/src/pthreadkill.c, posix/src/ptimer1.c, posix/src/sigaction.c, posix/src/sigaddset.c, posix/src/sigsuspend.c: Signal set of 0 is supposed to return EINVAL. In addition timer_create needed to return an error if the clock was not CLOCK_REALTIME.
2004-04-16Remove stray white spaces.Ralf Corsepius1-12/+12
2004-03-232004-03-23 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-3/+3
* posix/include/rtems/posix/cond.h, posix/include/rtems/posix/intr.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/timer.h, posix/src/cond.c, posix/src/intr.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/killinfo.c, posix/src/mqueue.c, posix/src/mqueuerecvsupp.c, posix/src/mqueuesendsupp.c, posix/src/mqueuetranslatereturncode.c, posix/src/mutex.c, posix/src/posixintervaltotimespec.c, posix/src/posixtimespecsubtract.c, posix/src/psignal.c, posix/src/pthread.c, posix/src/ptimer1.c, posix/src/semaphore.c, posix/src/sysconf.c: Convert to using c99 fixed size types.
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-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-07-012002-07-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-6/+9
* 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.