xserver/randr
Marius Gedminas 0dc2bb6101 [RANDR] Compare only milliseconds of config time. (Bug #6502)
The timestamp transferred in the X protocol is a 32-bit number of
milliseconds.

The timestamp stored in the server is a structure that contains two fields:
months (!) and milliseconds.

When the server passes the config timestamp to the client, it discards the
months part and sends only the milliseconds part.

When the server receives the config timestamp from the client, it tries to
guess the "months" part by looking at the current time and then maybe adding
or
subtracting one.  The guess is wrong after the server has been running long
enough (several hours).

I have added two ErrorF calls around the 'if' statement that returns
RRSetConfigInvalidConfigTimestamp in randr/randr.c and my Xorg.0.log has
this:

  randr request got good config time: 0:-2103495671

for the first few successful xrandr calls, and

  randr request failed with RRSetConfigInvalidConfigTime: client passed
  1:-2103495671, server has 0:-2103495671

when it fails.  The server has been running for 8 and a half hours.

The obvious fix would be to ignore the months field and only compare the
milliseconds.
2007-08-31 21:36:37 -07:00
..
Makefile.am Fix build of composite, dix, and randr when Xinerama is disabled. 2007-05-24 11:20:59 -07:00
mirandr.c Make pending properties force mode set. And, remove AttachScreen calls. 2007-03-24 00:01:47 -07:00
randr.c Fix build of composite, dix, and randr when Xinerama is disabled. 2007-05-24 11:20:59 -07:00
randrstr.h Set the crtc before the output change is notified 2007-07-23 14:47:45 -07:00
rrcrtc.c Set the crtc before the output change is notified 2007-07-23 14:47:45 -07:00
rrdispatch.c Set the RandR version returned, rather than just passing the proto's version. 2007-03-15 13:21:00 -07:00
rrinfo.c RRScanOldConfig cannot use RRFirstOutput before output is configured. 2007-08-08 12:16:32 -07:00
rrmode.c Add support for user-defined modelines in RandR. 2007-03-17 23:20:07 -07:00
rroutput.c Decrement mode count when removing RandR output mode. 2007-08-07 12:47:18 -07:00
rrpointer.c Bugzilla #7145: fix build with gcc 2.95 2007-03-05 15:31:44 -08:00
rrproperty.c Make pending properties force mode set. And, remove AttachScreen calls. 2007-03-24 00:01:47 -07:00
rrscreen.c [RANDR] Compare only milliseconds of config time. (Bug #6502) 2007-08-31 21:36:37 -07:00
rrsdispatch.c Change RandR property datatype to include pending/valid values. 2006-11-28 11:13:43 -08:00
rrxinerama.c Disable RANDR's fake Xinerama protocol when there's more than one screen. 2007-04-25 16:35:04 -04:00