Secure programmer: Prevent race conditions (IBM developerWorks)
Learn what a race condition is and why it can cause security problems. This article shows you how to handle common race conditions on UNIX®-like systems, including how to create lock files correctly, alternatives to lock files, how to handle the filesystem, and how to handle shared directories (and in particular how to correctly create temporary files in the /tmp directory). You'll also learn a bit about signal handling."
