On Thu, Jun 27, 2002 at 09:03:56AM +0200, Jay Goldberg wrote:
Hi Klaas
Thanks very much for the reply and for thinking that this makes sense :)
Symlinks are really portable - the symlink() and unlink() system calls are part of the Open Group's UNIX 98 definition (formerly X/Open and 'Spec 1170'), so any UNIX would be able to do this. Less sure about windows, BTW, although Cygwin and U/WIN definitely do support the calls.
If I can find the time, I'll have a look at it myself, as I think it's really just a few lines of logic (plus error checking et al):
add file options "symlink_cur" and "symlink_pre"
at file close() time: if (symlink_cur is set) { unlink(symlink_cur) } if (symlink_pre is set) { symlink(real_file, symlink_pre) }
at file open() time:
if (symlink_cur is set) { symlink(real_file, symlink_cur) }
...that should about cover it. Never having touched lex & yacc, I've been hesitant to try to touch this code, but it shouldn't be that bad (famous last words :))
The problem with the feature outlined above is that syslog-ng doesn't know the notion of 'last' file. It can write to several files in parallel. Imagine a destination /var/log/messages/$PROGRAM, where each program has its own file. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1