mirror of
https://github.com/postgres/postgres.git
synced 2025-06-18 00:02:37 -04:00
* removed a few redundant defines * get_user_name safe under win32 * rationalized pipe read EOF for win32 (UPDATED PATCH USED) * changed all backend instances of sleep() to pg_usleep - except for the SLEEP_ON_ASSERT in assert.c, as it would exceed a 32-bit long [Note to patcher: If a SLEEP_ON_ASSERT of 2000 seconds is acceptable, please replace with pg_usleep(2000000000L)] I added a comment to that part of the code: /* * It would be nice to use pg_usleep() here, but only does 2000 sec * or 33 minutes, which seems too short. */ sleep(1000000); Claudio Natoli
54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* assert.c
|
|
* Assert code.
|
|
*
|
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
*
|
|
* IDENTIFICATION
|
|
* $PostgreSQL: pgsql/src/backend/utils/error/assert.c,v 1.26 2004/04/19 17:42:58 momjian Exp $
|
|
*
|
|
* NOTE
|
|
* This should eventually work with elog()
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#include "postgres.h"
|
|
|
|
#include <unistd.h>
|
|
|
|
/*
|
|
* ExceptionalCondition - Handles the failure of an Assert()
|
|
*/
|
|
int
|
|
ExceptionalCondition(char *conditionName,
|
|
char *errorType,
|
|
char *fileName,
|
|
int lineNumber)
|
|
{
|
|
if (!PointerIsValid(conditionName)
|
|
|| !PointerIsValid(fileName)
|
|
|| !PointerIsValid(errorType))
|
|
fprintf(stderr, "TRAP: ExceptionalCondition: bad arguments\n");
|
|
else
|
|
{
|
|
fprintf(stderr, "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n",
|
|
errorType, conditionName,
|
|
fileName, lineNumber);
|
|
}
|
|
|
|
#ifdef SLEEP_ON_ASSERT
|
|
/*
|
|
* It would be nice to use pg_usleep() here, but only does 2000 sec
|
|
* or 33 minutes, which seems too short.
|
|
*/
|
|
sleep(1000000);
|
|
#endif
|
|
|
|
abort();
|
|
|
|
return 0;
|
|
}
|