Add support for CLOCK_MONOTONIC from clock_gettime, and use that in
GetTimeInMillis() if available, falling back to the old gettimeofday()
implementation.
This is _slightly_ faster on some 64-bit architectures, and _slightly_
slower on others (though barely measurable).
(cherry picked from d285833290 commit)
Only rewind time when we're more than (original delta + 250ms) away from
executing the timer.
When we're walking the timer list, use a goto to iterate all of them from
the start again, since timers may drop out of the list.
Don't bother trying to be smart in TimerSet, we'll pick it up in
WaitForSomething anyway.
(cherry picked from 51a06b3c44 commit)
When an appgroup is shutting down, the list of clients can change, so make
sure we're not trying to shut the server down.
(cherry picked from b5d09d4adb commit)
Add a general socket (not input device, but still need to be woken for it)
handler to both the DIX and XFree86, and make XFree86's ACPI handling use
it. This stops DPMS waking up every time an ACPI notification comes in.
If we're mapping something in the "legacy range" (0-1Mb), we shouldn't
expand the requested range to the entire 0-1Mb range. Typically this
is for mapping the VGA frame buffer, and some platforms support mmap of
the frame buffer but not the entire 0-1Mb range.
For example, HP sx1000 and sx2000 ia64 platforms can have memory from
0-0x9ffff, VGA frame buffer from 0xa0000-0xbffff, and memory from
0xc0000-0xfffff. On these platforms, we can't map the entire 0-1Mb
range with the same attribute because the memory only supports WB,
while the frame buffer supports only UC. But an mmap of just the
frame buffer should work fine.
(cherry picked from bd0c829654 commit)
Mach64 driver bails out on ia64 because it cannot map device
memory. It turns out that some bogus and unneeded code attempts
to find the root bridge of the device and fails to do so proberly
as there this host-to-pci bridge is not existant. This code has
been around for years although it completely unclear what it had
been intended for. Fixing this by eliminating the bogus code.
(cherry picked from c1828a8ff5 commit)
Return BadMatch when an unsupported visual type is given, not BadValue --
this is correct according to the spec.
(cherry picked from af606f9dab4d51724b4be6f43f1de7b3342c443a commit)
Without being able to tie these to specific commits, the text changelog is
useless, as well as being huge.
(cherry picked from 430411ae07ad74662e22da70563f757a931c72b9 commit)
instead of serverClient. Also don't use totalClientSize as it is not
initialized until after the first call to InitClient
(cherry picked from 3d39c02fe6 commit)
Add support for CLOCK_MONOTONIC from clock_gettime, and use that in
GetTimeInMillis() if available, falling back to the old gettimeofday()
implementation.
This is _slightly_ faster on some 64-bit architectures, and _slightly_
slower on others (though barely measurable).
(cherry picked from d285833290 commit)
Commit b3a3020fd0 used a sparc64 ifdef instead of
sparc. But for 32-bit userland, __sparc64__ is not defined so the wrong code is
used.
(cherry picked from d812f486a0 commit)