diff options
author | Robert Haas <rhaas@postgresql.org> | 2010-12-17 11:32:02 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2010-12-17 11:32:02 -0500 |
commit | 8bd4b89e240cc6488f5e1523202cc2d27e9970c0 (patch) | |
tree | 86209987a57fdc1378ebccd0bec7d08fb9fdb8e1 /src | |
parent | 611fed371227f430e71d0ff7fed037f1006b410d (diff) | |
download | postgresql-8bd4b89e240cc6488f5e1523202cc2d27e9970c0.tar.gz postgresql-8bd4b89e240cc6488f5e1523202cc2d27e9970c0.zip |
Try to save a kernel call in ResolveRecoveryConflictWithVirtualXIDs.
If there's no work to be done, just exit quickly, before initialization.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/storage/ipc/standby.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 4f209eab688..b659c320585 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -193,6 +193,10 @@ ResolveRecoveryConflictWithVirtualXIDs(VirtualTransactionId *waitlist, TimestampTz waitStart; char *new_status; + /* Fast exit, to avoid a kernel call if there's no work to be done. */ + if (!VirtualTransactionIdIsValid(*waitlist)) + return; + waitStart = GetCurrentTimestamp(); new_status = NULL; /* we haven't changed the ps display */ |