pgsql: Use a latch to make startup process wake up and replay

Heikki Linnakangas <heikki@postgresql.org>

From: heikki@postgresql.org (Heikki Linnakangas)
To: pgsql-committers@postgresql.org
Date: 2010-09-15T10:35:05Z
Lists: pgsql-hackers
Log Message:
-----------
Use a latch to make startup process wake up and replay immediately when
new WAL arrives via streaming replication. This reduces the latency, and
also allows us to use a longer polling interval, which is good for energy
efficiency.

We still need to poll to check for the appearance of a trigger file, but
the interval is now 5 seconds (instead of 100ms), like when waiting for
a new WAL segment to appear in WAL archive.

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        xlog.c (r1.434 -> r1.435)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.434&r2=1.435)
    pgsql/src/backend/replication:
        walreceiver.c (r1.16 -> r1.17)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/walreceiver.c?r1=1.16&r2=1.17)
    pgsql/src/include/access:
        xlog.h (r1.116 -> r1.117)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h?r1=1.116&r2=1.117)