[PATCH] fixing -logfile when used with -displayfd

Alan Coopersmith alan.coopersmith at oracle.com
Mon Aug 28 06:02:09 UTC 2017


I admit not looking at this code in a year and a half and barely remembering
what it does, but that seems like the wrong place to add the check - wouldn't
it make more sense to change
	if (displayfd != -1) {
to
	if ((displayfd != -1) && strstr(saved_log_fname, "%s")) {
in LogInit, so that the saved_log_* variables never get set in the first place?

	-alan-

On 08/27/17 10:21 PM, Antoine Martin wrote:
> Bump. This is a cosmetic bug, but it trips up many people when they
> cannot find the log file that they had requested.
> 
> This should be applied to older branches too since this particular bug
> was also applied to 1.18.1 (a fairly big change too, especially compared
> to this one liner fix for it)
> 
> Cheers
> Antoine
> 
> 
> On 05/08/17 17:09, Antoine Martin wrote:
>> Hi,
>>
>> 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.
>>
>> ---
>> Don't try to add the pidstring to the log filename if it doesn't contain
>> the "%s" placeholder for it.
>>
>> 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