3 Commits (77855b77fa52ac6e844377a191c2ae836a32b5bd)

Author SHA1 Message Date
Iain Patterson 5b9e64a9ae Allow compiling as a Unicode application.
Overhaul the entire codebase so that it compiles and runs as either a
Unicode or ANSI application.
11 years ago
Iain Patterson 4550eb2281 Try to throttle using a critical section.
The first implementation of service restart throttling used a condition
variable in a critical section to sleep for the required amount of time.
The implementation was changed to use a waitable timer because Windows
2000 does not support SleepConditionVariableCS() or
WakeConditionVariable().

Since we are now using LoadLibrary() and GetProcAddress() to use newer
functions dynamically without having to build OS-specific binaries, we
can now use a critical section where it's supported and fall back to a
waitable timer when running on Windows 2000.
11 years ago
Iain Patterson e42e6900a5 AttachConsole() isn't available in Windows 2000.
Instead of calling AttachConsole() directory use a function pointer in
the new global imports struct.  It's safe to skip any attempt to attach
to the console when the function isn't available.
11 years ago