summaryrefslogtreecommitdiff
path: root/src/backend/storage
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage')
-rw-r--r--src/backend/storage/sync/sync.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/backend/storage/sync/sync.c b/src/backend/storage/sync/sync.c
index 705f229b27f..f329c3fd667 100644
--- a/src/backend/storage/sync/sync.c
+++ b/src/backend/storage/sync/sync.c
@@ -452,9 +452,7 @@ RememberSyncRequest(const FileTag *ftag, SyncRequestType type)
{
HASH_SEQ_STATUS hstat;
PendingFsyncEntry *entry;
- ListCell *cell,
- *prev,
- *next;
+ ListCell *cell;
/* Cancel matching fsync requests */
hash_seq_init(&hstat, pendingOps);
@@ -466,20 +464,16 @@ RememberSyncRequest(const FileTag *ftag, SyncRequestType type)
}
/* Remove matching unlink requests */
- prev = NULL;
- for (cell = list_head(pendingUnlinks); cell; cell = next)
+ foreach(cell, pendingUnlinks)
{
PendingUnlinkEntry *entry = (PendingUnlinkEntry *) lfirst(cell);
- next = lnext(cell);
if (entry->tag.handler == ftag->handler &&
syncsw[ftag->handler].sync_filetagmatches(ftag, &entry->tag))
{
- pendingUnlinks = list_delete_cell(pendingUnlinks, cell, prev);
+ pendingUnlinks = foreach_delete_current(pendingUnlinks, cell);
pfree(entry);
}
- else
- prev = cell;
}
}
else if (type == SYNC_UNLINK_REQUEST)