diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/access/transam/xlog.c | 10 | ||||
-rw-r--r-- | src/backend/utils/cache/catcache.c | 14 |
2 files changed, 18 insertions, 6 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 05eb5b0706f..002dc4c3758 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -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); diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index cc86bae0fb6..423a5d72861 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -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 |