mirror of
https://github.com/postgres/postgres.git
synced 2025-11-13 16:22:44 +03:00
New parallel regression test shell and related things.
Jan
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.7 1999/10/25 03:07:42 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.8 1999/11/19 18:51:47 wieck Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1253,15 +1253,15 @@ tryAgain:
|
||||
{
|
||||
fd = errno;
|
||||
if (!ReleaseDataFile())
|
||||
elog(STOP, "Open(cntlfile) failed: %d (and no one data file can be closed)",
|
||||
fd);
|
||||
elog(STOP, "Open(\"%s\") failed: %d (and no one data file can be closed)",
|
||||
ControlFilePath, fd);
|
||||
goto tryAgain;
|
||||
}
|
||||
if (fd < 0)
|
||||
elog(STOP, "Open(cntlfile) failed: %d", errno);
|
||||
elog(STOP, "Open(\"%s\") failed: %d", ControlFilePath, errno);
|
||||
|
||||
if (read(fd, ControlFile, BLCKSZ) != BLCKSZ)
|
||||
elog(STOP, "Read(cntlfile) failed: %d", errno);
|
||||
elog(STOP, "Read(\"%s\") failed: %d", ControlFilePath, errno);
|
||||
|
||||
close(fd);
|
||||
|
||||
|
||||
14
src/backend/utils/cache/catcache.c
vendored
14
src/backend/utils/cache/catcache.c
vendored
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.51 1999/11/07 23:08:26 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.52 1999/11/19 18:51:48 wieck Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -983,11 +983,23 @@ SearchSysCache(struct catcache * cache,
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
/* ----------
|
||||
* It is definitely insufficient. While modifying the regression
|
||||
* test to run independent tests concurrently it happened, that
|
||||
* this code fails VERY often. ISTM that 'cache' points into
|
||||
* shared memory, but that 'busy' means this backend is loading
|
||||
* a new entry. So when another backend has set busy, this one
|
||||
* think's it detected a recursion.
|
||||
*
|
||||
* Need's a smarter detection mechanism - Jan
|
||||
*
|
||||
if (cache->busy)
|
||||
{
|
||||
elog(ERROR, "SearchSysCache: recursive use of cache %d", cache->id);
|
||||
}
|
||||
cache->busy = true;
|
||||
* ----------
|
||||
*/
|
||||
|
||||
/* ----------------
|
||||
* open the relation associated with the cache
|
||||
|
||||
Reference in New Issue
Block a user