Commit Graph

66 Commits

Author SHA1 Message Date
crs
014578b875 Fixed a serious flaw in wrapper for posix condition variable wait
function.  Because synergy doesn't use posix cancellation, it
cannot wake up a thread waiting on a condition variable.  So
the wrapper would wake up periodically to test if the thread was
cancelled (according to synergy's cancellation state) then go
back to waiting.  Well the condition could be signalled while
we're testing and be lost and we'd never return from the wait.
So now we wake up after a maximum timeout and return to the
caller.  The caller must check for this spurious wakeup but all
callers should do this anyway so we're okay there.
2004-11-11 19:23:14 +00:00
crs
ca23cd031f Added forgotten files. Added define to common.h for OS X XCode
build to get uname().
2004-11-09 18:31:25 +00:00
crs
57fddf4cdc Fixed screensaver detection on XP. 2004-11-06 16:13:52 +00:00
crs
4d427a091d Added operating system identification log message for debugging
purposes.
2004-11-01 22:25:39 +00:00
crs
91d1fcf38d Fixed bugs in configuration. Wasn't doing configuration for DPMS
and Xinerama correctly.  Also was using '#if defined(...)' instead
of '#if ...' for testing configure macros in some places.  This
yields the wrong answer if the macro is set to 0, which means
missing/disabled.
2004-10-28 21:40:56 +00:00
crs
12c95723b7 Fixed use of freed memory. 2004-10-27 21:46:22 +00:00
crs
07e2a3e511 Removed recursive mutexes. Simplified stream filters as a side
effect.  Removed -D_BSD_SOURCE and -D_XOPEN_SOURCE=500 from
compile since they're not longer necessary.
2004-09-29 21:59:26 +00:00
crs
e7ae6831cf Worked around minor gcc 3.3.2 -O3 compiler bug. 2004-09-27 21:23:47 +00:00
crs
0df2e9ce6a Fixed warnings in deployment build style on OS X. 2004-08-03 21:14:30 +00:00
crs
b66a403941 Now using <poll.h> instead of <sys/poll.h>. Also added a bit
to autoconf to ensure we don't use poll on OS X.
2004-07-31 11:19:39 +00:00
crs
a80ddb4a78 Fixed bug in converting wide characters to multibyte. 2004-06-12 20:46:35 +00:00
crs
9c9db6958f Changed O_NDELAY to O_NONBLOCK. On some versions of Unix, read
return 0 when O_NDELAY is set and there is nothing to read.  We
want the O_NONBLOCK behavior where read returns -1 and sets
errno to EAGAIN when there is nothing to read.
2004-06-10 19:56:35 +00:00
crs
62b5cefb64 Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.
2004-05-16 18:02:49 +00:00
crs
455d0210b2 Fixed thread reference leak in network code. 2004-05-12 19:50:58 +00:00
crs
423dd3b718 Added support for daemon startup dependencies. Made synergy
dependent on NetBT, which I hope is right.
2004-05-02 16:01:59 +00:00
crs
320cc754a2 Better fixes for compiling on FreeBSD and OpenBSD. 2004-05-01 12:11:28 +00:00
crs
975d888d65 Fixes for FreeBSD. 2004-05-01 11:01:40 +00:00
crs
165c889c5d Fixes to compile on solaris 9 using g++. 2004-05-01 10:12:06 +00:00
crs
4d2d4a2171 Fixed type cast warnings. 2004-05-01 08:54:42 +00:00
crs
54b3884eba Removed use of mbrtowc, wcrtomb, and mbsinit. Many platforms
didn't support them and the emulated versions were just as good
except for a performance problem with excessive locking and
unlocking of a mutex.  So this also changes IArchString to
provide string rather than character conversion so we can lock
the mutex once per string rather than once per character.
2004-04-13 19:39:04 +00:00
crs
bf2879724f Preliminary support for MSYS/MinGW builds. Doesn't yet build
CSynergyHook as a DLL and does not compile or link in the
resources for the binaries.
2004-04-11 19:15:09 +00:00
crs
530be3ff9d Updates to support OS X. This improves support for building on
multiple systems with automake, with X Windows and Carbon window
system APIs supported.  It's also a starting port for supporting
win32 builds using mingw.  OS X support is incomplete;  the tree
will compile and link but the binaries will not function.
2004-04-11 14:58:08 +00:00
crs
619dd75f0d Added missing initialization of mutex attribute call. 2004-04-06 22:09:38 +00:00
crs
083607345a Removed DEPTH, VDEPTH, and VPATH from makefiles. 2004-04-04 12:12:32 +00:00
crs
d1a60e848e Reverted task bar code to 1.0.15 version. That used a window in
its own thread for handling messages.  It seems to fix most of
the task bar bugs but there's still an hourglass cursor on NT
when using the popup menu.
2004-03-31 22:15:13 +00:00
crs
4576b30c37 Fixed lookup of hosts by name on win32. 2004-03-31 22:14:15 +00:00
crs
d2f4cbf002 Fixed bugs in installing per-user startup programs on windows 95
family.
2004-03-28 14:05:31 +00:00
crs
ab11ebea01 Fixed handling of reading strings from the registry. This was
broken when support for binary data was added.  The terminating
NUL was included in the string as a character (that's in addition
to the terminating NUL added by std::string).
2004-03-26 20:59:21 +00:00
crs
a6e858a208 Added win32 support for power management. 2004-03-13 17:13:55 +00:00
crs
6c7039490d Added check for inet_aton and a simple implementation for platforms
that are missing it.
2004-03-10 20:35:03 +00:00
crs
f068232643 Typecasting fix to compile on old solaris. 2004-03-08 20:45:53 +00:00
crs
ffa966747b Fixed handling of winsock connect event. Was always immediately
indicating socket had connected.
2004-02-29 21:33:20 +00:00
crs
8f083a2e65 Fixed comment. 2004-02-29 17:36:32 +00:00
crs
b8606412d6 Switched to doxygen comments. 2004-02-29 17:29:01 +00:00
crs
1ccb92b888 Fixed BSD unblockPollSocket(). Was signaling to break out of
poll() but there was a race condition where the thread trying
to unblock poll() could send the signal before the polling
thread had entered poll().  Now using a pipe and polling on
that and the client's sockets, and just writing a byte into
the pipe to unblock poll.  This persists until the next call
to poll() so we might force poll() to return once unnecessarily
but that's not a problem.  This change makes the BSD code
similar to the winsock code, which uses a winsock event instead
of a pipe.
2004-02-29 16:48:22 +00:00
crs
d6ec331b09 Made all arch sockets non-blocking. 2004-02-29 16:11:17 +00:00
crs
82dffeb498 Generalized signal handling. Now handling SIGHUP in addition
to SIGINT and SIGTERM.  Setup SIGHUP to reload the server's
configuration.
2004-02-28 17:49:29 +00:00
crs
54acf38d82 Merged Win32 updates. Added full warnings on g++. Fixed bug in
client when handling server rejection.
2004-02-28 12:19:49 +00:00
crs
48908242d2 Checkpoint. Conversion to event driven system complete for Unix.
Still need to convert win32 platform specific files.
2004-02-15 17:32:11 +00:00
crs
1861f21fb5 Checkpoint. synergys now works. Still need to do lib/client and
synergyc.
2004-02-14 14:04:36 +00:00
crs
848aee7a3a Checkpoint. Code does not run. Still converting over to new
event loop model.  Streams, stream filters, and sockets are
converted.  Client proxies are almost converted.  CServer is
in progress.  Removed all HTTP code.  Haven't converted the
necessary win32 arch stuff.
2004-02-01 21:09:22 +00:00
crs
4c7e524896 Checkpointing centralized event queue stuff. Currently have:
an event queue and events, TCP sockets converted to use events,
unix multithreading and network stuff converted, and an X Windows
event queue subclass.
2004-01-24 16:09:25 +00:00
crs
fa215f1b13 Merged changes from 1.0 branch, including Japanese keyboard
support (thanks to Kazuhide Takahashi).
2003-09-28 11:58:38 +00:00
crs
80f3998398 Changed name-to-address translation to only use IPv4 addresses
and to only copy as much address as fits in sockaddr_in.sin_addr,
in case hostent.h_length is wrong.
2003-09-03 21:54:18 +00:00
crs
809a347333 Removed heap allocation when polling sockets. 2003-09-02 22:06:07 +00:00
crs
47ca409ff9 Merged primary and secondary screens into one class. 2003-09-02 22:05:47 +00:00
crs
4fea7719f3 Merged changes from 1.0 branch. 2003-09-02 21:41:00 +00:00
crs
2f9cdfd1b2 Integrated fixes from 1.0 branch. 2003-08-06 21:09:25 +00:00
crs
345de4cd11 Integrate fixes from 1.0 branch. 2003-08-03 21:24:45 +00:00
crs
3bd3e7a17c Fixed unsigned compare against zero. Changed win32 priority to
maximum.
2003-05-21 21:22:14 +00:00