I have recently stumbled across a nice, wonderful, PITA, er, issue with
the implementation of open with O_CREAT and dangling symlinks.
Simply put, under some Linux kernels (2.4.0-test1*, at least), O_CREAT
will not follow dangling symlinks - instead, -ENOENT in returned.
This is not a /good/ thing, given that the implementation of saving
files under XEmacs will cause any file opened through a symlink to
become a dangling symling before it tries to create it.
This is, um, not very good.
Now, I have opened a discussion about this with the people responsible
for it but, for now, XEmacs will not work on this system.
In the short term[1], is it worth my while putting together a patch to
fix this in XEmacs by resolving the output filename and only ever
passing the real name to the system?
I had a glance at the code and this is, um, non-trivial to do, I think.
Especially as it would mean potentially dealing with GC. I will put in
the effort if needed, though.
Daniel
Footnotes:
[1] Possibly even the long term, if the darned-foolishness is retained
because it's easier[2] to implement.
[2] Also sainer and the only race-free way to do it, or so the claims go.
--
The mist crawls from the canal like some primordial phantom of romance.
To curl, under a cascade of neon pollen
-- Marillion, _Bitter Suite (I)_ (Misplaced Childhood)
Show replies by date