|
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 | } |
|