⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assert.c

📁 关系型数据库 Postgresql 6.5.2
💻 C
字号:
/*------------------------------------------------------------------------- * * assert.c *	  Assert code. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION *	  $Header: /usr/local/cvsroot/pgsql/src/backend/utils/error/assert.c,v 1.13.2.1 1999/08/02 05:25:04 scrappy Exp $ * * NOTE *	  This should eventually work with elog(), dlog(), etc. * *------------------------------------------------------------------------- */#include <unistd.h>#include "postgres.h"#include "utils/exc.h"#include "utils/trace.h"intExceptionalCondition(char *conditionName,					 Exception *exceptionP,					 char *detail,					 char *fileName,					 int lineNumber){	extern char *ExcFileName;	/* XXX */	extern Index ExcLineNumber; /* XXX */	ExcFileName = fileName;	ExcLineNumber = lineNumber;	if (!PointerIsValid(conditionName)		|| !PointerIsValid(fileName)		|| !PointerIsValid(exceptionP))	{		EPRINTF("TRAP: ExceptionalCondition: bad arguments\n");		ExcAbort(exceptionP,				 (ExcDetail) detail,				 (ExcData) NULL,				 (ExcMessage) NULL);	}	else	{		EPRINTF("TRAP: %s(\"%s:%s\", File: \"%s\", Line: %d)\n",				exceptionP->message, conditionName,				(detail == NULL ? "" : detail),				fileName, lineNumber);	}#ifdef ABORT_ON_ASSERT	abort();#endif#ifdef SLEEP_ON_ASSERT	sleep(1000000);#endif	/*	 * XXX Depending on the Exception and tracing conditions, you will XXX	 * want to stop here immediately and maybe dump core. XXX This may be	 * especially true for Assert(), etc.	 */	/* TraceDump();		dump the trace stack */	/* XXX FIXME: detail is lost */	ExcRaise(exceptionP, (ExcDetail) 0, (ExcData) NULL, conditionName);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -