|
28 | 28 | * Portions Copyright (c) 2010-2010, PostgreSQL Global Development Group
|
29 | 29 | *
|
30 | 30 | * IDENTIFICATION
|
31 |
| - * $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.31 2010/09/14 13:35:14 heikki Exp $ |
| 31 | + * $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.32 2010/09/15 06:51:19 heikki Exp $ |
32 | 32 | *
|
33 | 33 | *-------------------------------------------------------------------------
|
34 | 34 | */
|
@@ -511,15 +511,15 @@ InitWalSnd(void)
|
511 | 511 | else
|
512 | 512 | {
|
513 | 513 | /*
|
514 |
| - * Found a free slot. Take ownership of the latch and initialize |
515 |
| - * the other fields. |
| 514 | + * Found a free slot. Reserve it for us. |
516 | 515 | */
|
517 |
| -OwnLatch((Latch*)&walsnd->latch); |
518 | 516 | walsnd->pid=MyProcPid;
|
519 | 517 | MemSet(&walsnd->sentPtr,0,sizeof(XLogRecPtr));
|
520 |
| -/* Set MyWalSnd only after it's fully initialized. */ |
521 |
| -MyWalSnd= (WalSnd*)walsnd; |
522 | 518 | SpinLockRelease(&walsnd->mutex);
|
| 519 | +/* don't need the lock anymore */ |
| 520 | +OwnLatch((Latch*)&walsnd->latch); |
| 521 | +MyWalSnd= (WalSnd*)walsnd; |
| 522 | + |
523 | 523 | break;
|
524 | 524 | }
|
525 | 525 | }
|
|