Singleton process
Cameron Laird
claird at lairds.com
Mon Dec 22 19:50:40 EST 2003
More information about the Python-list mailing list
Mon Dec 22 19:50:40 EST 2003
- Previous message (by thread): Singleton process
- Next message (by thread): Singleton process
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
In article <mailman.33.1072077235.684.python-list at python.org>, Benjamin Han <bhan at andrew.cmu.edu> wrote: >On Mon, 22 Dec 2003, Andrew Bennetts wrote: >> On Mon, Dec 22, 2003 at 01:38:27AM -0500, Benjamin Han wrote: >> > On Mon, 22 Dec 2003, Jp Calderone wrote: >> [...] >> > > import os, errno >> > > >> > > def shouldRun(): >> > > try: >> > > os.mkdir(MAGIC_PATH) >> > > except OSError, e: >> > > if e.args[0] == errno.EEXIST: >> > > return False >> > > raise >> > > return True >> > >> > But this solution creates a file race condition? >> >> How? mkdir is atomic. Either it creates the directory and succeeds, or it >> fails. I don't see any problems here. > >ok I see. The reason I'm thinking of using a lock file through fcntl is that >even if a lock file exists (maybe due to a crash of some sort before), using >the locking mechanism would still work. The "test if it exists" approach >would fail because of some leftover from some accidental 'death' of the process >before. > >Any more suggestion? Thanks. > Open a socket service. I expected Andrew to write that. Here's how I think about this: what does the OS itself manage as a process-referring singleton? Socket service! Only one server can be on a port at a time; that's exactly the expressed requirement. Apparently I haven't needed this yet in Python. If you're will- ing to read along in a foreign language, though, <URL: http:// wiki.tcl.tk/singleton > comments on Tcl-based implementations. -- Cameron Laird <claird at phaseit.net> Business: http://www.Phaseit.net
- Previous message (by thread): Singleton process
- Next message (by thread): Singleton process
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list