[pacman-dev] [PATCH 1/1] alpm: use flock() for db lock
Christian Hesse
list at eworm.de
Tue Jun 6 22:11:37 UTC 2017
Andrew Gregory <andrew.gregory.8 at gmail.com> on Tue, 2017/06/06 17:56:
> On 06/06/17 at 11:26pm, Christian Hesse wrote:
> > From: Christian Hesse <mail at eworm.de>
> >
> > We used to check for file existens, but that suffers from stale lock
> > files caused by unexpected events like crash, shutdown, etc.
> >
> > Instead use flock() to lock the file. It does not matter whether or
> > not the file exists but whether an exclusive lock can be obtained.
> >
> > Also remove the hint about removing the file from pacman.
> >
> > Signed-off-by: Christian Hesse <mail at eworm.de>
> > ---
> > lib/libalpm/handle.c | 17 +++++++++++++++--
> > src/pacman/util.c | 5 -----
> > 2 files changed, 15 insertions(+), 7 deletions(-)
>
> Refusing to run when a lock file is leftover from a previous
> invocation is intentional. It serves as an indicator that the user
> needs to verify the integrity of their system. Also, see
> https://lists.archlinux.org/pipermail/pacman-dev/2013-August/017733.html
> for previous discussion regarding flock().
Thanks for the heads-up. I did not know this thread. Looks like I should
invest more time searching for this kind of information before reinventing
the wheel.
Perhaps anybody should add a comment to lib/libalpm/handle.c why we are *not*
adding flock(). ;)
BTW, it is interesting what systems actually do run pacman...
--
main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH"
"CX:;",b;for(a/* Best regards my address: */=0;b=c[a++];)
putchar(b-1/(/* Chris cc -ox -xc - && ./x */b/42*2-3)*42);}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/pacman-dev/attachments/20170607/de32bb09/attachment.asc>
More information about the pacman-dev
mailing list