diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-04-28 16:54:16 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-04-28 16:54:16 +0000 |
| commit | 77acab75dfe2e4741c25c0cf550266caef1eebd2 (patch) | |
| tree | 1a5d86661c9394e2e79ae038775e874395f24f59 /src/backend/postmaster | |
| parent | 5f70a04c56b69fff0f356abae3091eaa54038a5b (diff) | |
| download | postgresql-77acab75dfe2e4741c25c0cf550266caef1eebd2.tar.gz | |
Modify ShmemInitStruct and ShmemInitHash to throw errors internally,
rather than returning NULL for some-but-not-all failures as they used to.
Remove now-redundant tests for NULL from call sites.
We had to do something about this because many call sites were failing to
check for NULL; and changing it like this seems a lot more useful and
mistake-proof than adding checks to the call sites without them.
Diffstat (limited to 'src/backend/postmaster')
| -rw-r--r-- | src/backend/postmaster/autovacuum.c | 6 | ||||
| -rw-r--r-- | src/backend/postmaster/bgwriter.c | 20 |
2 files changed, 10 insertions, 16 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 8de6d878dd..78f0667271 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -55,7 +55,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.109 2010/02/26 02:00:55 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.110 2010/04/28 16:54:15 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -2771,10 +2771,6 @@ AutoVacuumShmemInit(void) ShmemInitStruct("AutoVacuum Data", AutoVacuumShmemSize(), &found); - if (AutoVacuumShmem == NULL) - ereport(FATAL, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("not enough shared memory for autovacuum"))); if (!IsUnderPostmaster) { diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index 9a3956a509..72737ab226 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -38,7 +38,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.67 2010/02/05 23:37:43 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.68 2010/04/28 16:54:15 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -890,16 +890,14 @@ BgWriterShmemInit(void) ShmemInitStruct("Background Writer Data", BgWriterShmemSize(), &found); - if (BgWriterShmem == NULL) - ereport(FATAL, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("not enough shared memory for background writer"))); - if (found) - return; /* already initialized */ - - MemSet(BgWriterShmem, 0, sizeof(BgWriterShmemStruct)); - SpinLockInit(&BgWriterShmem->ckpt_lck); - BgWriterShmem->max_requests = NBuffers; + + if (!found) + { + /* First time through, so initialize */ + MemSet(BgWriterShmem, 0, sizeof(BgWriterShmemStruct)); + SpinLockInit(&BgWriterShmem->ckpt_lck); + BgWriterShmem->max_requests = NBuffers; + } } /* |
