Date: Fri, 26 Jul 2013 09:07:51 +0300 From: Timo Teras <timo.teras@....fi> To: musl@...ts.openwall.com Cc: dalias@...ifal.cx Subject: Re: Preparing to release 0.9.12 On Fri, 26 Jul 2013 01:34:20 -0400 Rich Felker <dalias@...ifal.cx> wrote: > One thing to keep in mind with libc is that you want to be able to > safely and atomically replace it during an upgrade without any > intermediate state where the system is unusable. This means the actual > filename (as opposed to symlink) needs to be something that does not > change between versions. If, for example, you had: > > /lib/ld-musl-$(ARCH).so.1 -> /lib/musl.so.1.0.0 > > and wanted to upgrade to musl 1.0.1, you would have to change the > symlink to point to a different name. But there is (as far as I know) > no way to replace a symlink atomically; you have to unlink it first > then make a new symlink. And this leaves a race window during which > exec() could fail. man rename(2) says: If oldpath refers to a symbolic link the link is renamed; if newpath refers to a symbolic link the link will be overwritten. But if this is linux specific, and we want to support other operating system kernels than linux, then this might be an issue. - Timo
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.