Markus Schiltknecht wrote: Hi Markus,
> what are the assumptions PostgreSQL normally does about atomic > operations? I see sig_atomic_t is used in signal handlers. Additionally, > there is a match for a cmpxchg instruction in some solaris ports code, > but that's about what I found in the source. > > Am I safe assuming that pointer assignments are atomic (on all platforms > PostgreSQL compiles on, that is)? (This is a 'practical advice' from the > GNU Libc Manual) How about other integers smaller or equal in size to > sizeof(sig_atomic_t)? > > I'm asking to make sure I rely on the same guarantees in my code. Currently we rely on TransactionId being atomic; see GetNewTransactionId. It's defined as uint32 somewhere, so I guess you could rely on that. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate