All:
I am writing a logging solution. One of the available log endpoints is a text file. Suppose I wanted to write to that file from multiple processes: I could open it shared, and use a named mutex to control concurrent access to the file (assuming all access occurred on the same machine). But then I started wondering about async IO. Within a process, I could use BeginWrite to issue my writes asynchronously. What about cross-process, or cross-machine issues? Is async IO safe in those situations?
(assuming that when I call BeginWrite(), the buffer that I pass contains everything that should be kept together in one logical "record")