#!/usr/bin/python2.5 import mailbox import os import time import tempfile msg_text = ("""Subject: Ghost message This message should be deleted. """, """Subject: New message This message should be the only one in the mailbox. """) mbox_name = tempfile.mkstemp(prefix="race-mbox")[1] def printmbox(m): if not mbox: print("") else: for msg in mbox: print(msg) print if os.fork(): # first mbox user mbox = mailbox.mbox(mbox_name) mbox.lock() mbox.add(msg_text[0]) mbox.clear() print("=== mbox after first client finished:\n") printmbox(mbox) # now empty mbox.close() os.wait() mbox = mailbox.mbox(mbox_name) print("=== mbox after second client finished:\n") printmbox(mbox) # has now both messages. os.remove(mbox_name) else: # second mbox user mbox = mailbox.mbox(mbox_name) time.sleep(1) mbox.lock() mbox.add(msg_text[1]) mbox.close()