summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2001-01-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-182-13/+18
| | | | | | | * include/rtems/system.h: Only include cpuopts.h when building a multilib configuration. Some ports still need targopts.h but this small modification lets those ports work non-multilib while fixing being fixed for multilib.
* 2001-01-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-182-1/+9
| | | | | | | * include/rtems/system.h: Only include cpuopts.h when building a multilib configuration. Some ports still need targopts.h but this small modification lets those ports work non-multilib while fixing being fixed for multilib.
* 2001-01-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-181-1/+4
| | | | * ChangeLog: Deleted duplicate blank line.
* 2002-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-162-76/+10
| | | | | | * include/rtems/libio.h: Add #include <rtems/fs.h>. Reflect changes due to using rtems/fs.h. * include/rtems/libio_.h: Reworked.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-163-0/+454
| | | | | | | | | | | | | | | | | | | | * Added task-based timers to the Timer Manager. This added three new directives: - rtems_timer_initiate_server - rtems_timer_server_fire_after - rtems_timer_server_fire_when In the process of doing this, a number of cleanups were made. * src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: New files. * include/timer/timer.h: Added new prototypes and supporting types. * inline/rtems/rtems/timer.h, macros/rtems/rtems/timer.h: Enhanced _Timer_Is_interval_class() to cover the class TIMER_INTERVAL_ON_TASK. * src/Makefile.am: Accounted for new files. * src/rtemstimer.c: Added initialization of _Timer_Server variable. * src/timercancel.c, src/timerreset.c: Account for addition of timer classes. Also corrected the headers. * src/timercreate.c, src/timerdelete.c, src/timerfireafter.c, src/timerfireafter.c, src/timerident.c: Corrected header.
* 2002-01-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-164-16/+25
| | | | | | | | | * Makefile.am: Apply @subdirs. Remove POSIX_SUBDIRS. Remove ITRON_SUBDIRS. * configure.ac: Rework enable_unixlib handling. Add RTEMS_MULTILIBS to cpuopts.h. * include/Makefile.am: Add rtems/fs.h, rtems/userenv.h. Add $(PROJECT_INCLUDE)/rtems. Remove libio_.h.
* 2002-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-163-2/+9
| | | | | * asm.h: Remove #include <rtems/score/targopts.h>. Add #include <rtems/score/cpuopts.h>.
* 2002-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-164-5/+9
| | | | | | * asm.h: Remove #include <rtems/score/targopts.h>. Add #include <rtems/score/cpuopts.h>. * configure.ac: Remove RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP).
* 2002-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-166-12/+20
| | | | | | | | | * src/getegid.c: Add #include <rtems/userenv.h>. Remove #include <rtems/libio_.h>. * src/geteuid.c: Ditto. * src/getgid.c: Ditto. * src/getlogin.c: Ditto. * src/getuid.c: Ditto.
* 2001-01-16 Eric Norum <eric.norum@usask.ca>Joel Sherrill2002-01-162-4/+7
| | | | * lib/tftpDriver.clib/tftpDriver.c: Fix TFTP block number checking.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-1613-41/+203
| | | | | | | | | | | | | | | | | | | | * Added task-based timers to the Timer Manager. This added three new directives: - rtems_timer_initiate_server - rtems_timer_server_fire_after - rtems_timer_server_fire_when In the process of doing this, a number of cleanups were made. * src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: New files. * include/timer/timer.h: Added new prototypes and supporting types. * inline/rtems/rtems/timer.h, macros/rtems/rtems/timer.h: Enhanced _Timer_Is_interval_class() to cover the class TIMER_INTERVAL_ON_TASK. * src/Makefile.am: Accounted for new files. * src/rtemstimer.c: Added initialization of _Timer_Server variable. * src/timercancel.c, src/timerreset.c: Account for addition of timer classes. Also corrected the headers. * src/timercreate.c, src/timerdelete.c, src/timerfireafter.c, src/timerfireafter.c, src/timerident.c: Corrected header.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-162-2/+8
| | | | | * src/taskmode.c: Ensure the this service does not dispatch before tasking is enabled at initialization time.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-162-1/+6
| | | | | * inline/rtems/posix/mutex.inl (_POSIX_Mutex_Get_support): Corrected name of routine in header.
* 2002-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-081-0/+4
| | | | * rootfs/Makefile.am: Use include_rtems_HEADERS instead of H_FILES.
* 2002-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-083-1/+14
| | | | | | * src/imfs/imfs_load_tar.c: Add include <sys/types.h>. Add include <sys/stat.h>. Add include <fcntl.h>. * src/imfs/imfs_rmnod.c: Add include <stdlib.h>.
* 2002-02-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-081-0/+1
| | | | * libc/gxx_wrappers.c: Add #include <rtems/error.h>.
* 2002-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-084-2/+149
| | | | | | | * wrapup/Makefile.am: Add install-hook. Remove SIZE_RTEMS. * include/rtems/fs.h: New, extracted from libio_.h. * include/rtems/userenv.h: New. extracted from libio_.h.
* 2002-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-082-0/+6
| | | | * rtems/score/cpu.h: #include <rtems/bspIo.h>.
* 2002-01-07 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-071-0/+8
| | | | | | | | * optman/, optman/.cvsignore, optman/Makefile.am, optman/no-dpmem.c, optman/no-event.c, optman/no-mp.c, optman/no-msg.c, optman/no-part.c, optman/no-region.c, optman/no-rtmon.c, optman/no-sem.c, optman/no-signal.c, optman/no-timer.c: Removed entire contents of optman/ directory since it has been moved.
* 2002-01-07 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-071-0/+6
| | | | | | * optman/, optman/.cvsignore, optman/Makefile.am, optman/no-ext.c, optman/no-io.c: Removed entire contents of optman/ directory since it has been moved.
* 2002-01-07 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-071-0/+5
| | | | | * optman/, optman/.cvsignore, optman/Makefile.am: Removed entire contents of optman/ directory since it has been moved.
* 2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-063-1/+6
| | | | * Makefile.am: Readded reference to wrapup.
* 2002-01-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-064-0/+51
| | | | | * wrapup/.cvsignore: Readded. * include/.cvsignore: New file.
* 2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-062-0/+3
| | | | | | * libc/Makefile.am: Add MULTISUBDIR support. * libc/fcntl.c: Add #include <stdarg.h>. * libc/privateenv.c: Add #include <stdlib.h>.
* 2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-064-6/+8
| | | | * configure.ac: Remove RTEMS_CHECK_CUSTOM_BSP.
* 2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-063-1/+7
| | | | | * configure.ac: AC_CONFIG_SRCDIR([src/pthreads.c]) * src/psignal.c: #include <string.h>.
* 2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-062-1/+5
| | | | | * pppd/sys-rtems.c: Remove unused variable status from dodefaultroute.
* 2002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-064-2/+10
| | | | * cpu.c: Include rtems/bspIo.h instead of bspIo.h.
* 2002-01-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-043-2/+5
| | | | * Makefile.am, configure.ac: Remove references to wrapup subdirectory.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-042-1/+10
| | | | * mw-fb/mw_uid.c: Apply rtems_set_errno_and_return_minus_one.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-0417-64/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/imfs/imfs_eval.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/memfile.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_readlink.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_unlink.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_link.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_chown.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/ioman.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_mount.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_directory.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_stat.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_fchmod.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_symlink.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_mknod.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/linearfile.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs_unmount.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * src/imfs/imfs.h: Apply rtems_set_errno_and_return_minus_one. Comment out increment_and_check_linkcounts.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-0435-91/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-042-4/+10
| | | | | | * include/rtems/seterr.h: Add do {..} while (0) in defines. Rename set_errno_and_return_minus_one into rtems_set_errno_and_return_minus_one.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-0438-109/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2002-02-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-042-16/+18
| | | | | * lib/tftpDriver.c: Remove set_errno_and_return_minus_one, include <rtems/seterr.h>.
* 2002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-041-1/+1
| | | | | | * libc/printk.c: Include rtems/bspIo.h instead of bspIo.h. * include/Makefile.am: Remove bspIo.h. * include/bspIo.h: Removed.
* 2001-12-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-049-50/+74
| | | | | | | | | | | | | | | | * configure.ac: Use AS_IF instead of if/then/else. Add AC_DEFINE_UNQUOTED(RTEMS_UNIX) for RTEMS_CPU==unix. Add AC_DEFINE_UNQUOTED(RTEMS_UNIXLIB) for RTEMS_CPU==unix. Add include/Makefile to CONFIG_FILES. Add AC_ENABLE_MULITLIB. Remove wrapup/rtems, wrapup/itron, wrapup/posix. Remove */optman/Makefile from CONFIG_FILES. * Makefile.am: Add include to SUBDIRS. * rtems/Makefile.am: Remove optman from SUBDIRS. * sapi/Makefile.am: Remove optman from SUBDIRS. * include/Makefile.am: New file. * include/rtems/bspIo.h: Relocated from lib/include. * include/rtems/libio_.h: Relocated from lib/include.
* 2001-12-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-043-2/+6
| | | | | * configure.ac: Remove optman/Makefile from CONFIG_FILES. * Makefile.am: Remove optman from SUBDIRS.
* 2001-12-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-206-3/+15
| | | | * configure.ac: Use RTEMS_ENV_RTEMSCPU.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-203-6/+12
| | | | | | * inline/rtems/score/object.inl, macros/rtems/score/object.inl: Add add casts to Objects_Id in _Objects_Build_ids to avoid implicit typecasts from enum to int16 on bit16 targets (here: h8300).
* 2001-12-18 Eric Norum <eric.norum@usask.ca>Joel Sherrill2001-12-192-1/+7
| | | | | | * lib/tftpDriver.c: Allow chdir() to work on TFTP `directories' (path names with a / at the end) while disallowing open() operations on TFTP `directories'.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-192-0/+9
| | | | | | | * wrapup/posix/Makefile.am: Add multilib support. * wrapup/itron/Makefile.am: Add multilib support. * wrapup/rtems/Makefile.am: Add multilib support. * Makefile.am: Add multilib support.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-194-2/+10
| | | | * src/Makefile.am: Add multilib support.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-192-1/+6
| | | | | * src/Makefile.am: Add multilib support. * optman/Makefile.am: Add multilib support.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-1932-45/+109
| | | | * Makefile.am: Add multilib support.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-192-1/+6
| | | | | * optman/Makefile.am: Add multilib support. * src/Makefile.am: Add multilib support.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-192-1/+6
| | | | | * optman/Makefile.am: Add multilib support. Remove ASM4FLAGS. * src/Makefile.am: Add multilib support.
* 2001-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-184-3/+8
| | | | | * asm.h: include cpuopts.h instead of targopts.h * rtems/score/arm.h: Use __arm__.
* 2001-12-07 Eric Norum <eric.norum@usask.ca>Joel Sherrill2001-12-072-6/+17
| | | | * lib/tftpDriver.c: Restore write capability.
* 2001-11-30 Jennifer Averett <jennifer@OARcorp.com>Joel Sherrill2001-11-301-7/+23
| | | | | This was tracked as PR88. * libc/scandir.c: Fixed to perform cleanup on error conditions.