[BACK]Return to xfs_error.c CVS log [TXT][DIR] Up to [Development] / xfs-linux

File: [Development] / xfs-linux / xfs_error.c (download)

Revision 1.3, Wed Apr 27 21:39:42 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.2: +1 -1 lines

Add EINVAL to list of errors to trap on, by default.

#ident "$Revision$"

#include "sys/types.h"
#include "sys/pda.h"
#include "sys/errno.h"
#ifdef SIM
#include <stdlib.h>
#else
#include "sys/systm.h"
#endif
#include "xfs_error.h"

#ifdef DEBUG
int	xfs_etrap[XFS_ERROR_NTRAP] = { EIO, EINVAL };

#ifndef SIM
extern void panicspin(void);
#endif

int
xfs_error_trap(int e)
{
	int i;
#ifndef SIM
	int cpu;
	int id;
#endif

	if (!e)
		return 0;
	for (i = 0; i < XFS_ERROR_NTRAP; i++) {
		if (xfs_etrap[i] == 0)
			break;
		if (e != xfs_etrap[i])
			continue;
#ifdef SIM
		abort();
#else
		for (cpu = 0; cpu < maxcpus; cpu++) {
			if (((id = pdaindr[cpu].CpuId) != -1) && (id != cpuid())) {
				cpuaction(id, (cpuacfunc_t)panicspin, A_NOW);
			}
		}
		debug("ring");
#endif
		break;
	}
	return e;
}
#endif