On 2024-Apr-03, Alvaro Herrera wrote: > So what I do in the attached 0001 is stop using the XLogwrtResult struct > in XLogCtl and replace it with separate Write and Flush values, and add > the macro XLogUpdateLocalLogwrtResult() that copies the values of Write > and Flush from the shared XLogCtl to the local variable given as macro > argument. (I also added our idiomatic do {} while(0) to the macro > definition, for safety). The new members are XLogCtl->logWriteResult > and XLogCtl->logFlushResult and as of 0001 are just XLogRecPtr, so > essentially identical semantics as the previous code. No atomic access > yet!
BTW I forgot. I didn't like the name XLogUpdateLocalLogwrtResult() name much. What do you think about RefreshXLogWriteResult() instead? -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "How strange it is to find the words "Perl" and "saner" in such close proximity, with no apparent sense of irony. I doubt that Larry himself could have managed it." (ncm, http://lwn.net/Articles/174769/)