| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
PR 442/filesystem
* src/open.c: file never closed if ftruncate() fails in open()
|
|
|
|
|
| |
PR 419/rtems
* src/termios.c: Removed warning.
|
|
|
|
|
|
|
| |
* configure.ac: Remove (Merged-in into ../configure.ac)
* Makefile.am: DOC_FILES = src/TODO src/CASES,
Reflect having merged configure.ac into ../configure.ac.
* src/config.h: New.
|
|
|
|
| |
rtems_termios_bufsize call.
|
|
|
|
|
|
|
|
| |
PR 399/rtems_misc
* src/termios.c: In canonical mode, when input is present in the
input buffer that contains an EOL character and some following
characters, a read call read data behind the EOL character, although
it should stop reading with the EOL character.
|
| |
|
|
|
|
|
|
| |
PR 389/rtems
* src/no_posix.c: Correct _kill_r() prototype and make it conditional
on newlib.
|
|
|
|
|
|
| |
PR 381/core
* src/newlibc.c: Switch from using _REENT_INIT to _REEINT_INIT_PTR
to fix strange run-time problem where EIP was corrupted on pc386 BSP.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Till Straumann <strauman@slac.stanford.edu>
2003/2/11
This patch addresses the following issues:
2003-02-20 Till Straumann <strauman@slac.stanford.edu>
PR 349/bsps
* src/mount.c, src/privateenv.c:
- mount() bugfix: allocated 'loc' node must be released if
mount fails due to missing node_type_h
- silence compiler warning about improper pointer type
Index: cpukit/libcsupport/src/mount.c
===================================================================
RCS file: /afs/slac/g/spear/cvsrep/rtems/src-20030128/cpukit/libcsupport/src/mount.c,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 mount.c
*** cpukit/libcsupport/src/mount.c 29 Jan 2003 22:57:19 -0000 1.1.1.2
--- cpukit/libcsupport/src/mount.c 7 Feb 2003 20:47:49 -0000
***************
*** 142,147 ****
--- 142,149 ----
mount_point, RTEMS_LIBIO_PERMS_RWX, &loc, TRUE ) == -1 )
goto cleanup_and_bail;
+ loc_to_free = &loc;
+
/*
* Test for node_type_h
*/
***************
*** 155,161 ****
* Test to see if it is a directory
*/
- loc_to_free = &loc;
if ( loc.ops->node_type_h( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
errno = ENOTDIR;
goto cleanup_and_bail;
--- 157,162 ----
Index: cpukit/libcsupport/src/privateenv.c
===================================================================
RCS file: /afs/slac/g/spear/cvsrep/rtems/src-20030128/cpukit/libcsupport/src/privateenv.c,v
retrieving revision 1.1.1.3
diff -c -r1.1.1.3 privateenv.c
*** cpukit/libcsupport/src/privateenv.c 29 Jan 2003 22:57:20 -0000 1.1.1.3
--- cpukit/libcsupport/src/privateenv.c 30 Jan 2003 18:01:40 -0000
***************
*** 65,71 ****
tmp->refcnt = 1;
#endif
! sc = rtems_task_variable_add(RTEMS_SELF,(void*)&rtems_current_user_env,free_user_env);
if (sc != RTEMS_SUCCESSFUL) {
/* don't use free_user_env because the pathlocs are
* not initialized yet
--- 65,71 ----
tmp->refcnt = 1;
#endif
! sc = rtems_task_variable_add(RTEMS_SELF,(void*)&rtems_current_user_env,(void(*)(void *))free_user_env);
if (sc != RTEMS_SUCCESSFUL) {
/* don't use free_user_env because the pathlocs are
* not initialized yet
|
|
|
|
|
|
| |
PR 357/rtems_misc
* src/termios.c (rtems_termios_open): Fixed code the incorrectly
checked that the wrong pointer during allocation was NULL.
|
|
|
|
|
| |
PR 340/filesystem
* src/fcntl.c: Add missing _fcntl_r assumed to exist by newlib.
|
|
|
|
|
|
| |
PR 338/filesystem
* src/unixlibc.c: Side-effect of fixing reentrancy problem with
rtems_io_lookup_name() (API change).
|
|
|
|
|
| |
PR 339/filesystem
* src/chroot.c: Fix violation of FS node object copy semantics.
|
|
|
|
|
| |
* ChangeLog, base_fs.c, getpwent.c, privateenv.c
Per PR303, Fix violation of node_access copy syemantics
|
|
|
|
| |
* src/fchdir.c - PR302 fix violation of FS node object copy semantics
|
|
|
|
|
| |
* src/malloc.c: Fixed code that incorrected did a disable dispatch
instead of locking and unlocking the allocator mutex.
|
|
|
|
|
| |
* configure.ac: Add various checks to enhance portability.
* src/termios.c: Reflect changes to configure.ac.
|
|
|
|
| |
* src/mount.c: Per PR297, correct fs_mountme failure paths.
|
|
|
|
|
| |
* src/mount.c: Per PR297, correct fs_mountme failure
paths.
|
|
|
|
|
|
| |
* src/mallocfreespace.c: Corrected sense of status check to
match change inside RTEMS.
* src/newlibc.c: Removed warning.
|
|
|
|
| |
which have already obtained the va_list pointer.
|
|
|
|
|
| |
* src/eval.c: Per PR293, added freenode calls for evaluate
link failures.
|
|
|
|
|
| |
* src/mount.c per PR290, add check for ops->node_type_h
* src/mknod.c per PR291, remove erroneous call to freenod
|
|
|
|
|
|
|
| |
* src/getpwent.c: Per PR283, reimplement to address reentrancy problems.
* src/getgrent.c: Removed as functionality is now just a wrapper for
common routines in src/getpwent.c.
* Makefile.am: Reflect file removal.
|
|
|
|
|
| |
* src/readdir_r.c: New file.
* Makefile.am: Reflect above.
|
|
|
|
| |
* src/write.c (_write_r): Change prototype to match newlib's reent.h.
|
|
|
|
| |
* src/__times.c: Corrected from previous attempt to cleanup.
|
|
|
|
|
|
| |
* src/__times.c: Cleaned up comments, return more information,
and eliminated the fatal error on clock not set since it cannot
occur.
|
|
|
|
| |
* src/.cvsignore: New file.
|
|
|
|
|
|
| |
* libc/envlock.c: Implemented code to let newlib's envlock share
the libio open/close mutex. Since both should be lightly used,
this should not lead to problems and saves resources.
|
|
|
|
|
|
|
|
| |
* libc/newlibc.c: Per PR141, move the C library re-enterrant
support directly into the thread dispatch code. RTEMS needs
libc and so requiring libc to use a user extension with its
overhead is not the best solution. This patch lowers the
overhead to 2 pointer moves.
|
|
|
|
|
|
|
| |
* Per PR212, added envlock support for newlib. This is used
by at least getenv()/putenv() to avoid race conditions.
* libc/envlock.c: New file.
* libc/Makefile.am: Modified to reflect above.
|
|
|
|
|
| |
* libc/gxx_wrappers.c: Fix to keep prototype same as in gcc and
remove warning.
|
|
|
|
| |
* libc/scandir.c: Initialize nitems = 0.
|
|
|
|
|
| |
* libc/stat.c: include <string.h>.
* libc/printk.c: Remove libcpu/cpu.h.
|
|
|
|
|
|
| |
* libc/ctermid.c: Include <string.h>.
* libc/ttyname.c: Ditto.
* libc/ttyname_r.c: Ditto.
|
|
|
|
|
|
| |
* libc/gxx_wrappers.c: Task is not preemptable while running a
pthread_once init function. This is slightly less heavy handed
than disabling dispatching and seems better than consuming a mutex.
|
|
|
|
|
|
|
|
|
|
|
| |
* Nice Update of PPPD support which eliminates the
requiremetn that drivers be in the termios TASK_DRIVEN mode.
Mike did significant testing and reports that it seems to be
more stable and handle larger packets better. This patch
replaces the termios tasks with more general pppd network
driver tasks. The functions pppinput() and pppstart() get
called from the interrupt service routine.
* libc/termios.c: Added PPCDISC.
|
|
|
|
| |
* libc/gxx_wrappers.c: Add #include <rtems/error.h>.
|
|
|
|
|
|
| |
* libc/Makefile.am: Add MULTISUBDIR support.
* libc/fcntl.c: Add #include <stdarg.h>.
* libc/privateenv.c: Add #include <stdlib.h>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/rtems/libio_.h: Remove set_errno_and_return_minus_one.
* libc/cfsetispeed.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/cfsetospeed.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chdir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chmod.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chown.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chroot.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/closedir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/eval.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fchdir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fchmod.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fdatasync.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fpathconf.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fstat.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fsync.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ftruncate.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/getdents.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ioctl.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/link.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/lseek.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/mknod.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/open.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/read.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/readlink.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/rmdir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/stat.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/symlink.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/tcsetattr.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/telldir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ttyname.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ttyname_r.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/unlink.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/unmount.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/utime.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/write.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* libc/printk.c: Include rtems/bspIo.h instead of bspIo.h.
* include/Makefile.am: Remove bspIo.h.
* include/bspIo.h: Removed.
|
|
|
|
|
| |
This was tracked as PR88.
* libc/scandir.c: Fixed to perform cleanup on error conditions.
|
|
|
|
|
|
|
| |
Reported by Ibragimov Ilya <ibr@oktet.ru> and tracked as PR63.
* libc/chdir.c: Check for search/execute permissions on chdir.
This requires passing RTEMS_LIBIO_PERMS_SEARCH to
rtems_filesystem_evaluate_path().
|
|
|
|
|
| |
* libc/libio.c: Cleanup of initialization per suggestion from
Eric Norum.
|
|
|
|
|
|
|
| |
* libc/unmount.c: Primarily restructuring and clean up to address
procedures which did not do what their name implied. Also addressed
problem situation where unmount fails and the filesystem was
inconsistent. The mounted filesystem could have been left hanging.
|
|
|
|
|
|
|
| |
* libc/libio.c: Initialize more fields to NULL/0 during initialiation.
* include/rtems/libio_.h: Fix freenode macro so it works for sockets
which do not have the full set of filesystem operations and are
initialized via something other than open().
|