| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
In case the Newlib _REENT_THREAD_LOCAL configuration option is enabled, the
struct _reent is not defined (there is only a forward declaration in
<sys/reent.h>). Instead, the usual members of struct _reent are available as
dedicatd thread-local storage objects.
Update #4560.
|
| |
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
|
| |
This function is used by Newlib since 2013-07-09 (Git commit
9b51cd8c6b9cdd067d9648a7ab952884019c56a5).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Move implementation specific parts of thread.h and thread.inl into new
header file threadimpl.h. The thread.h contains now only the
application visible API.
Remove superfluous header file includes from various files.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Delete _Thread_libc_reent and add __getreent() instead according to
__DYNAMIC_REENT__ define.
For SMP configurations __DYNAMIC_REENT__ must be defined.
A Newlib including the following patch is required:
2013-07-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/sys/config.h (__DYNAMIC_REENT__): Define for RTEMS.
|
|
|
|
|
|
|
|
|
| |
A Newlib including the following patch is required:
2013-04-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/stdio/local.h (_STDIO_CLOSE_PER_REENT_STD_STREAMS): New define.
* libc/stdio/findfp.c (_STDIO_CLOSE_PER_REENT_STD_STREAMS): Use define.
|
|
|
|
| |
Remove superfluous declaractions, defines, comments and includes.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/8017203
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* libcsupport/src/newlibc_reent.c: Eliminate RTEMS_UNIX.
|
|
|
|
|
|
| |
* libcsupport/include/rtems/libcsupport.h,
libcsupport/src/newlibc_reent.c: Eliminate use of deprecated
rtems_extension.
|
| |
|
|
* Makefile.am, preinstall.am, libcsupport/Makefile.am,
libcsupport/include/rtems/libcsupport.h,
libcsupport/include/rtems/libio.h, libcsupport/src/base_fs.c,
libcsupport/src/libio_init.c, libcsupport/src/newlibc_exit.c,
libcsupport/src/newlibc_init.c, libcsupport/src/sync.c,
libfs/Makefile.am, libfs/src/imfs/deviceio.c,
sapi/include/confdefs.h: Merge GSOC project code to add simple device
only filesystem (devfs), optionally completely drop out filesystem,
and to clean up disabling newlib reentrancy support. This dropped 17K
from the minimum.exe for sparc/sis and arm/rtl22xx_t now has a 15K
code space.
* libcsupport/src/__usrenv.c, libcsupport/src/newlibc_reent.c,
libfs/src/devfs/devclose.c, libfs/src/devfs/devfs.h,
libfs/src/devfs/devfs_eval.c, libfs/src/devfs/devfs_init.c,
libfs/src/devfs/devfs_mknod.c, libfs/src/devfs/devfs_node_type.c,
libfs/src/devfs/devfs_show.c, libfs/src/devfs/devioctl.c,
libfs/src/devfs/devopen.c, libfs/src/devfs/devread.c,
libfs/src/devfs/devstat.c, libfs/src/devfs/devwrite.c,
libfs/src/imfs/deviceerrno.c: New files.
* libcsupport/src/newlibc.c: Removed.
|