|
30 | 30 | * |
31 | 31 | * |
32 | 32 | * IDENTIFICATION |
33 | | - * $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.18 2010/04/28 16:10:42 heikki Exp $ |
| 33 | + * $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.19 2010/04/28 16:54:15 tgl Exp $ |
34 | 34 | * |
35 | 35 | *------------------------------------------------------------------------- |
36 | 36 | */ |
@@ -268,8 +268,7 @@ WalSndHandshake(void) |
268 | 268 | if (wal_level == WAL_LEVEL_MINIMAL) |
269 | 269 | ereport(FATAL, |
270 | 270 | (errcode(ERRCODE_CANNOT_CONNECT_NOW), |
271 | | - errmsg("standby connections not allowed because wal_level='minimal'"))); |
272 | | - |
| 271 | + errmsg("standby connections not allowed because wal_level=\"minimal\""))); |
273 | 272 |
|
274 | 273 | /* Send a CopyOutResponse message, and start streaming */ |
275 | 274 | pq_beginmessage(&buf, 'H'); |
@@ -838,21 +837,17 @@ WalSndShmemInit(void) |
838 | 837 | WalSndCtl = (WalSndCtlData *) |
839 | 838 | ShmemInitStruct("Wal Sender Ctl", WalSndShmemSize(), &found); |
840 | 839 |
|
841 | | - if (WalSndCtl == NULL) |
842 | | - ereport(FATAL, |
843 | | - (errcode(ERRCODE_OUT_OF_MEMORY), |
844 | | - errmsg("not enough shared memory for walsender"))); |
845 | | - if (found) |
846 | | - return; /* already initialized */ |
847 | | - |
848 | | - /* Initialize the data structures */ |
849 | | - MemSet(WalSndCtl, 0, WalSndShmemSize()); |
850 | | - |
851 | | - for (i = 0; i < max_wal_senders; i++) |
| 840 | + if (!found) |
852 | 841 | { |
853 | | - WalSnd *walsnd = &WalSndCtl->walsnds[i]; |
| 842 | + /* First time through, so initialize */ |
| 843 | + MemSet(WalSndCtl, 0, WalSndShmemSize()); |
| 844 | + |
| 845 | + for (i = 0; i < max_wal_senders; i++) |
| 846 | + { |
| 847 | + WalSnd *walsnd = &WalSndCtl->walsnds[i]; |
854 | 848 |
|
855 | | - SpinLockInit(&walsnd->mutex); |
| 849 | + SpinLockInit(&walsnd->mutex); |
| 850 | + } |
856 | 851 | } |
857 | 852 | } |
858 | 853 |
|
|
0 commit comments