Ok, I didnt see the implications of the status file before, but it looks fine to me. The only problem with that approach that I see is that the caller needs to poll the file to observe status changes. But if that is fine with the buildsystem guys, it works for me.
We shouldnt really need locking on that file. Writes <4k are atomic. Since we are only writing one line at a time to the status file, there is no danger of a reading process seeing an inconsistent file. We should probably just add a flush() statement to make sure that we are not buffering anything past close() (which I think is probably illegal, anyways) -- Michael -----Original Message----- From: [EMAIL PROTECTED] on behalf of Clark Williams Sent: Tue 6/27/2006 1:20 PM To: Discussion of Fedora build system Cc: [EMAIL PROTECTED] Subject: Re: New version of mock working (I think) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dan Williams wrote: > On Tue, 2006-06-27 at 11:15 -0500, Clark Williams wrote: >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 >> >> Mike McLean wrote: >>> Clark Williams wrote: >>>> Not smart enough to argue that we should wait for our build >>>> system clients to weigh in. Sigh... >>>> >>>> Dan/Jeremy/Mike/Andreas/et al >>>> >>>> How are you going to use file locking? Do you just want mock >>>> to lock the status file when we're changing state, or is >>>> there something else I'm missing? >>> Pretty much. The lock is to prevent the watcher from reading a >>> partially written status file. >> Something like : >> >> flock(fileno, LOCK_EX) <write new status> flock(fileno, LOCK_UN) >> >> That what you're looking for? > > In python: > > import fcntl lkfd = open(<lockfile_path>, 'w') rc = > fcntl.flock(lkfd, fcntl.LOCK_EX) <write new status> > fcntl.flock(lkfd, fcntl.LOCK_UN) close(lkfd) > > Yes. > > Dan > What, you couldn't tell that was pseudo-python? :) Clark -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iD8DBQFEoXbRHyuj/+TTEp0RAnUlAJ9HfAgDZP+teHPSeQNdNcCoAWcKuACgslBO aeOz/hsxMBY6afa7COrXu+I= =HiV2 -----END PGP SIGNATURE----- -- Fedora-buildsys-list mailing list Fedora-buildsys-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-buildsys-list -- Fedora-buildsys-list mailing list Fedora-buildsys-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-buildsys-list