The simplest way I can think of to solve this is:
(start)
mkdir /tmp/adduser.lock
sleep and loop until mkdir succeeds
(end)
remove /tmp/adduser.lock
which should be atomic assuming a local /tmp.
One could possibly add a /tmp/adduser.lock/adduser.pid and check for a
dead lock.. I hesitate to overcomplicate this one (and certainly don't
want a dependency for it).
Thoughts?

