[PATCH xserver v2] fixing -logfile when used with -displayfd

Alan Coopersmith alan.coopersmith at oracle.com
Mon Mar 26 04:09:22 UTC 2018


Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>

On 02/28/18 12:19 AM, Antoine Martin wrote:
> Hi,
> 
> v2 updated with the feedback from Alan: the LogSetDisplay function is
> the right place for this fix.
> 
> Trivial way to reproduce the bug:
> Xorg -logfile /tmp/mylog -config /etc/xpra/xorg.conf -displayfd 2
> 
> The server then moans:
> Failed to rename log file "/tmp/mylog" to "/tmp/mylog": No such file or
> directory
> 
> And the log file is created but immediately renamed to "/tmp/mylog.old"
> 
> This is caused by the changes to the log file handling introduced by
> this commit:
> https://cgit.freedesktop.org/xorg/xserver/commit/?id=edcb6426f20c3be5dd5f50b76a686754aef2f64e
> 
> And below is the trivial fix for it. We only need to rename the logfile
> if the log filename contains the magic substitution string "%s".
> 
> Signed-off-by: Antoine Martin <antoine at nagafix.co.uk>
> ---
> diff --git a/os/log.c b/os/log.c
> index 91e55a532..a3b28ccb4 100644
> --- a/os/log.c
> +++ b/os/log.c
> @@ -296,7 +296,7 @@ LogInit(const char *fname, const char *backup)
>  void
>  LogSetDisplay(void)
>  {
> -    if (saved_log_fname) {
> +    if (saved_log_fname && strstr(saved_log_fname, "%s")) {
>          char *logFileName;
> 
>          logFileName = LogFilePrep(saved_log_fname, saved_log_backup,
> display);
> 


-- 
	-Alan Coopersmith-               alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - https://blogs.oracle.com/alanc


More information about the xorg-devel mailing list