summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-04-15score: Simplify thread control initializationSebastian Huber1-24/+2
The thread control block contains fields that point to application configuration dependent memory areas, like the scheduler information, the API control blocks, the user extension context table, the RTEMS notepads and the Newlib re-entrancy support. Account for these areas in the configuration and avoid extra workspace allocations for these areas. This helps also to avoid heap fragementation and reduces the per thread memory due to a reduced heap allocation overhead.
2014-04-04privateenv.c: Remove unused variable warningJoel Sherrill1-1/+0
2014-03-31score: PR2152: Use allocator mutex for objectsSebastian Huber1-17/+7
Use allocator mutex for objects allocate/free. This prevents that the thread dispatch latency depends on the workspace/heap fragmentation.
2014-03-31score: Thread life cycle re-implementationSebastian Huber2-6/+12
The thread deletion is now supported on SMP. This change fixes the following PRs: PR1814: SMP race condition between stack free and dispatch PR2035: psxcancel reveals NULL pointer access in _Thread_queue_Extract() The POSIX cleanup handler are now called in the right context (should be called in the context of the terminating thread). http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html Add a user extension the reflects a thread termination event. This is used to reclaim the Newlib reentrancy structure (may use file operations), the POSIX cleanup handlers and the POSIX key destructors.
2014-03-27privateenv: Use POSIX keys instead of task variables.Christian Mauderer3-19/+32
2014-03-27privateenv: Remove sharing of user environment between threads.Christian Mauderer1-56/+4
2014-03-24libcsupport: Use POSIX keys for GXX key functionsChristian Mauderer1-60/+52
With this patch C++ applications now eventually need additional POSIX-keys and POSIX-key-value-pairs configured.
2014-03-24libcsupport: Remove unused gxx-wrapper function.Christian Mauderer1-10/+0
The rtems_gxx_key_dtor function is not longer used by gcc.
2014-03-21score: Unify pthread and gxx_wrapper once and move to score.Christian Mauderer1-13/+2
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns142-142/+142
2014-03-14score: Add SMP lock profiling supportSebastian Huber2-2/+2
2014-03-11score: Add function to destroy SMP locksSebastian Huber1-0/+1
2014-03-11score: Add local context to SMP lock APISebastian Huber1-27/+27
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.
2014-03-11printk: Add support for long longSebastian Huber1-30/+55
2014-02-21score: Rename _Internal_error_Occurred()Sebastian Huber2-3/+3
Rename _Internal_error_Occurred() into _Terminate().
2014-02-12score: Change debug helper functionsSebastian Huber1-42/+0
Rename rtems_internal_error_description() to rtems_internal_error_text(). Rename rtems_fatal_source_description() to rtems_fatal_source_text(). Rename rtems_status_code_description() to rtems_status_text(). Remove previous implementation of rtems_status_text().
2014-02-03calloc.c: Remove use of register keywordJoel Sherrill1-3/+3
2014-01-08libcsupport: Refactor rtems_deviceio_errnoDaniel Ramirez2-81/+7
Renames rtems_deviceio_errno to rtems_status_code_to_errno and integrates it into the Classic API Status Handler. This function can now be called by including status.h
2014-01-07libcsupport: implemented termios functions cfsetspeed and cfmakerawDaniel Ramirez2-0/+105
2013-12-20Filesystem: Use default kqfilter and poll handlerSebastian Huber1-0/+2
2013-12-20Filesystem: Add readv/writev handlersSebastian Huber3-41/+5
The readv() and writev() support was implemented in terms of multiple calls to the read and write handlers. This imposes a problem on device files which use an IO vector as single request entity. For example a low-level network device (e.g. BPF(4)) may use an IO vector to create one frame from multiple protocol layers each with its own IO vector entry.
2013-12-20libcsupport: Add and use rtems_libio_iovec_eval()Sebastian Huber2-155/+31
2013-12-10PR2158: Add support for dup2.Chris Johns2-7/+48
Split the dub call into dup and dup2 in fcntl.c. This requires a private command which is placed in the internal libio header.
2013-11-29gettimeofday: Add restrict keywordBryan Dunsmore1-2/+2
2013-11-29libcsupport: readlink: add c99 'restrict' keywordChirayu Desai1-1/+2
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
2013-11-21statvfs and ALL filesystem handlers: Add restrict keyword.Daniel Ramirez2-3/+3
2013-10-31Filesystem: Clear open flag early in close()Sebastian Huber1-0/+2
This helps to prevent the usage of a file descriptor which is about to close in some situations.
2013-10-31Filesystem: Zero flags in rtems_libio_free()Sebastian Huber1-1/+1
2013-09-22getdents.c: Fix missing prototype warningsJoel Sherrill1-1/+10
2013-09-22ctermid.c: Fix missing prototype warningsJoel Sherrill1-0/+1
2013-09-22getpwent.c: Fix missing prototype warningsJoel Sherrill1-0/+5
2013-09-22newlibc_init.c: Fix missing prototype warningsJoel Sherrill1-0/+1
2013-09-22__times.c: Fix missing prototype warningsJoel Sherrill1-1/+6
2013-09-22stat.c: Fix missing prototype warningsJoel Sherrill1-1/+15
2013-09-22__gettod.c: Fix missing prototype warningsJoel Sherrill1-3/+12
2013-09-22__gitpid.c: Fix missing prototype warningsJoel Sherrill1-0/+5
2013-09-22__assert.c: Fix missing prototype warningsJoel Sherrill1-1/+2
2013-09-22issetugid.c: Fix missing prototype warningsJoel Sherrill1-0/+5
2013-09-12Filesystem: Change rtems_filesystem_chown()Sebastian Huber3-37/+57
Implement POSIX requirements in the high-level file system layer. Use common implementation for all change owner variants.
2013-09-12Filesystem: Add and use rtems_filesystem_chmod()Sebastian Huber2-9/+42
Implement POSIX requirements in the high-level file system layer.
2013-09-05termios: check return value from semaphore obtain/releaseGedare Bloom1-2/+7
Raise a fatal error in case of failure.
2013-08-27Filesystem: Use unprotected chain operationsSebastian Huber1-6/+9
This area is protected by the IO library mutex.
2013-08-27score: Add and use CHAIN_INITIALIZER_ONE_NODE().Sebastian Huber1-13/+6
Add and use CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(), RTEMS_CHAIN_INITIALIZER_ONE_NODE() and RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
2013-08-23Filesystem: Remove superfluous free()Sebastian Huber1-2/+0
2013-08-15Expose rtems_verror()Nick Withers1-1/+1
2013-08-14filesystem: Add SMP supportSebastian Huber1-0/+3
2013-08-08PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber8-20/+0
2013-08-06posix: Create key implementation headerSebastian Huber1-1/+1
Move implementation specific parts of key.h and key.inl into new header file keyimpl.h. The key.h contains now only the application visible API.
2013-08-01score: Rename tod.h to todimpl.hSebastian Huber2-2/+2
2013-08-01score: Add and use _Thread_Update_cpu_time_used()Sebastian Huber1-5/+15
Fix _times().