Thanks for the suggestion. I have already tried an exclusive creation (IPC_CREAT | IPC_EXCL) which I understand is what you're suggesting. I hit the same issue...the files arrive too closely together that neither create process detects that the semaphore has already been created so they both create successfully!