Commit Graph

28 Commits

Author SHA1 Message Date
crs 0759cbc104 changed waitForEvent() to handle a peculiar feature of
MsgWaitForMultipleObjects():  it will not return immediately
if an event already in the queue when it's called was already
in the queue during the last call to GetMessage()/PeekMessage().
also now discarding screen saver events if there are any other
screen saver events in the queue already.  this prevents these
events from piling up in the queue, which they'd do because we
sleep for 250ms when handling each one.
2002-07-18 16:58:08 +00:00
crs 64232c7854 updated to new automake and refactored server stuff. the server
now speaks to the primary screen and secondary screens almost
everywhere the same way through an IClient interface;  only
special primary screen calls are accessed through a different
interface, the CPrimaryClient interface.  this simplifies the
server since it no longer needs to test whether the active screen
is the primary or a secondary in most cases.

the server no longer speaks directly to the primary screen;  all
that goes through the CPrimaryClient, which often just forwards
the call.  the primary screen no longer speaks directly to the
server either, again going through the CPrimaryClient via a
IPrimaryReceiver interface.

CServerProtocol classes have been replaced by CClientProxy
classes which are very similar.  the name makes more sense
though.
2002-07-09 21:22:31 +00:00
crs 4e37691a9c added header files to _SOURCES. 2002-06-22 17:31:24 +00:00
crs a65bb19723 signal handler thread now dies when SIGABRT is raised. ignoring
SIGABRT in sigwait() seems to be a bug in the linux pthread
library.
2002-06-21 15:14:32 +00:00
crs 9c7e863d77 checkpoint. more conversion to automake. 2002-06-19 11:23:49 +00:00
crs 1c604ecc3d started to convert to autoconf/automake. 2002-06-18 19:44:34 +00:00
crs fe16546a1d formatting changes. 2002-06-17 13:31:21 +00:00
crs e3dcf7febf performance fixes on win32 plus clean up of some warnings. also
improved error messages when uninstalling service.
2002-06-14 18:08:20 +00:00
crs 62519b19fe indentation and other formatting changes. also cleaned up
#includes.
2002-06-10 22:06:45 +00:00
crs 68940e58f3 win32 changes. now including windows.h with WIN32_LEAN_AND_MEAN
to avoid including some stuff we don't want (like winsock).
2002-06-10 16:49:46 +00:00
crs 30a6a8b837 CTimerThread now allows zero and negative timeouts. a negative
timeout never times out and CTimerThread is a no-op.
2002-06-09 22:20:01 +00:00
crs c357180530 added FIXME comment. 2002-06-09 17:35:28 +00:00
crs 4b28ffc5b2 win32 changes. changed names of binaries. added support for
running as (and installing/installing) a service.  added
support for multiple desktops (NT only, 95 doesn't support
multiple desktops).
2002-06-08 21:48:00 +00:00
crs 1d3807cb0e added SIGINT and SIGTERM handling to unix client and server.
either signal causes the main thread to be cancelled.  added
necessary code to make main thread cancellation clean up
nicely.
2002-06-02 18:49:35 +00:00
crs fa4d24216f now limiting number of simultaneous HTTP requests being handled
at once.  this is to prevent denial of service.
2002-06-02 11:49:46 +00:00
crs d2135af0d9 fixes, mainly for windows. first, had to add a notification from
CServer to the primary screen when the configuration changes so it
can make necessary adjustments (the win32 primary screen must tell
the hook dll about the new jump zones).

changed includes of some std c++ library files to go through
our own include files.  these wrap the include with stuff to
keep vc++ quiet when compiling at warning level 4, which is
what it does now.  it also works around missing <istream> and
<ostream> on g++2.96.

added missing std:: where necessary.  g++ doesn't really support
namespaces so it lets references without the namespace slip
through.

added workaround or fix.  not sure if istringstream::str(string)
should reset eofbit.  it does on g++ but does not on vc++.
added clear() after str() so it works either way.

added low-level keyboard hook to win32.  if available (it's only
available on NT SP3 and up) it allows us to catch and handle
alt+tab, alt+esc, ctrl+esc, and windows key hot keys.  i think
that leaves only ctrl+alt+del and accessibility functions
uncaught on those systems.
2002-06-01 19:26:11 +00:00
crs 5c760183ce removed blank line. 2002-05-22 16:55:19 +00:00
crs 024f76c909 changed un-inlined code to avoid bogus VC++ level 4 warnings.
added support for more win32 thread priorities.
2002-05-22 16:55:05 +00:00
crs ea6b347b18 Indentation changes. 2002-04-29 14:40:01 +00:00
crs d1ca5295d1 Added more debug levels and moved some annoying debug messages
to those levels.  Default log level is now DEBUG for debug
builds and INFO for release builds.
2002-04-27 18:49:03 +00:00
crs 3f6146b15f checkpoint. merging win32 code. server on X is currently broken
and client probably is.
2001-11-19 00:33:36 +00:00
crs ef3149cead removed unnecessary global scoping operators. 2001-10-25 22:17:17 +00:00
crs 8d1cf844c7 fixed bugs in handling streams. 2001-10-21 00:21:02 +00:00
crs 3cfbc0f68c threading fixes. had sigmask set in wrong place. was setting
m_exit flag potentially after the object had been destroyed.
most importantly, RTTI must be enabled on PPC to avoid SIGILL.
2001-10-20 20:43:31 +00:00
crs 9435639545 some debugging code. 2001-10-14 19:16:54 +00:00
crs b3291bc2b5 fixed timeout bug in CThreadRep::wait() (negative timeout wouldn't
wait forever).  also fixed early return from sleep due to signal.
now forcing client to initialize CThread to ensure global mutex
gets initialized before threads are used.
2001-10-14 18:29:43 +00:00
crs 6aba3a6f57 removed exception specifications. thread exceptions weren't
being listed and they'd have to be added to every one.  just
doesn't seem worth the trouble.
2001-10-14 16:58:01 +00:00
crs ff81f708e2 Started over. 2001-10-06 14:13:28 +00:00