Commit Graph

60 Commits

Author SHA1 Message Date
Andrew Nelless c3c0913633 Update company copyright notice 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou) 9d44affc89 Fixed Ipc unit test intermittently fail #4721 2015-07-31 13:56:10 -07:00
Jerry (Xinyu Hou) c3d38db053 Made buffer thread wait for notify when no gui #4721 2015-07-31 13:55:00 -07:00
Jerry (Xinyu Hou) 5ec9ccc76e Revert "Made buffer thread wait until there is a GUI client #4721"
This reverts commit 9a4327e44236c0ac30809660dc87a97e984dc84f.
2015-07-31 13:52:56 -07:00
Xinyu Hou afdcb9cefe Made buffer thread wait until there is a GUI client #4721
Conflicts:
	src/lib/ipc/IpcLogOutputter.cpp
2015-07-31 13:49:17 -07:00
Jerry (Xinyu Hou) 7614a21aac Cleared buffer on send instead of write #4721 2015-06-03 14:45:47 -07:00
Jerry (Xinyu Hou) 97bac70fae Stop writing into and clear buffer when no GUI #4721 2015-05-29 16:55:22 -07:00
Nick Bolton 950219b39e Fixed init order warning on Mac #4624 2015-05-20 17:51:52 +01:00
Nick Bolton 561204b2a7 Disabled threading on most IPC logging tests #4624
Threading was making it very hard to reliably run the IPC logging tests
(many timing issues), so I disabled threading for most of the tests.
2015-05-20 17:42:07 +01:00
Nick Bolton 9636af61d6 Solution attempt for timing bugs in write_bufferRateLimit
It's probably better to wait until the buffer is sent, rather than
waiting until its empty. To test the output it has to be sent, but
because of timing, it may be emptied at any point.
2015-05-20 15:51:07 +01:00
Nick Bolton 9f577ca4f3 Added rate limiting to IPC logging #4624 2015-05-18 18:06:58 +01:00
Nick Bolton b27b236c07 Disabled failing IPC tests for Mac #4651 2015-05-18 16:39:54 +01:00
Nick Bolton 984c5885f7 Fixed Mac build by hacking out mutex close #4651 2015-05-18 16:09:09 +01:00
Nick Bolton e60b3a6feb Added truncating to IPC log buffer queue #4651
When the IPC log buffer is too large, the oldest log line is removed
when a new log line is added.
2015-05-15 15:04:16 +01:00
Nick Bolton aac59fbf7e File missing from last commit #4651 2015-05-15 14:44:25 +01:00
Nick Bolton 2e3769c7a6 Added failing test for IpcLogOutputter::write(...) #4651
- Changed behavior of close() to stop the buffer thread
- Fixed code style in IpcLogOutputter.cpp
- Changed MAX_SEND macro to enum
- Added Doxygen @name sections
2015-05-15 14:43:42 +01:00
Nick Bolton 134a15ea8d Modified IpcServer to be mockable #4651
Also started IpcLogOutputterTests
2015-05-14 18:01:39 +01:00
Nigel Armstrong d71304ee55 Modified header of every file COPYING to LICENSE
Modified to match the updated name of the license file
2015-05-06 22:12:44 -04:00
XinyuHou f973d1498d dropped prefix C 2015-01-12 10:33:29 +00:00
Xinyu Hou 1aaa55163c Fixed "c" prefix compile error on Windows 2014-11-11 14:50:09 +00:00
Nick Bolton 41d6080028 changed company name in copyright notice 2014-11-11 13:52:03 +00:00
Nick Bolton e8e156f0e2 dropped "c" prefix from class names 2014-11-11 13:51:47 +00:00
Xinyu Hou 6756296d85 Made daemon take full responsibility for logging #4128 2014-10-27 14:11:43 +00:00
Nick Bolton abe108195d Task #3953 - Inherit XArch and XBase from std::exception 2014-03-14 18:30:21 +00:00
Nick Bolton 4675f29a4c code style fixes:
- reordered includes to prevent accidental dependencies.
- moved arch specific files into their own folder (easier to include with cmake).
- renamed non-class files to reflect new code style (lower case with underscores).
- using full relative paths for includes (easier for understanding dependencies).
- using #pragma once instead of classic-style header guards.
2014-02-28 12:36:45 +00:00
Nick Bolton 8e74710dad code style: dropped C prefix 2014-02-27 17:45:17 +00:00
Nick Bolton f11c660efb used glob instead of manually specifying files. cmake does not recommend this, but we always re-run cmake anyway after adding files since we use vs. 2014-02-26 17:46:02 +00:00
Nick Bolton c44971b43d fixed: warnings on mac os x 2014-02-25 15:03:43 +00:00
Nick Bolton c368013f13 Patch by Jerry for issue 46:
- Unit test for sending file data from server to client.
- Removed singleton pattern from CSocketMultiplexer for easier unit testing.
- Incremented protocol version from 1.4 to 1.5 (new file chunk message).
- Storing pointer to CConfig instead of copying in CServer (so we can mock it).
- Created a common event queue for testing (timeout, quit event, etc).
- Fixed code style.
2013-07-16 19:02:30 +00:00
Nick Bolton 608074c041 - made unit testing easier by (mostly) removing the event queue singleton.
- fixed code style in many places (mostly indentation).
2013-06-29 14:17:49 +00:00
Nick Bolton 7f6eca9eb4 corrected license and author attribution (cs 2002-2012, nb 2008-2012) 2012-09-04 02:09:56 +00:00
Nick Bolton 268f3a99bb added process elevation support to the relauncher, very experimental, has some bugs. 2012-07-28 02:59:20 +00:00
Nick Bolton 4378e520f0 fixed: on windows xp daemon deadlocks and synergys crashes on startup. also fixed uninitialized ipc program args value (always turning ipc on). moved the event queue further up the stack for (client, server and daemon) so that it's always available (not just in the main loop). 2012-07-14 00:15:07 +00:00
Nick Bolton 764d63a5d5 improved ipc log messages. 2012-07-13 17:34:59 +00:00
Nick Bolton 738c321bae fixed lousy ipc client/server cleanup and shutdown doubled timeout. 2012-07-13 17:08:00 +00:00
Nick Bolton 82d91605fa changed ipc protocol to be more like original synergy protocol (4 byte message codes and better use of protocol util class). 2012-07-11 18:06:10 +00:00
Nick Bolton eca240eec7 changed integ tests to use another port for ipc. 2012-07-11 12:07:13 +00:00
Nick Bolton 5f0402d47b fixed linux syntax and build errors 2012-07-10 18:35:33 +00:00
Nick Bolton f9f04034c9 fixed: ipc client running on synergyc wasn't sending hello message, and so wasn't getting shutdown message. edits to CIpcClient or CIpcTests weren't really needed, but looks slightly better this way maybe. 2012-07-10 11:23:08 +00:00
Nick Bolton 5be1fd0cfa made ipc log outputter message drop mechanism only drop messages from the buffer thread (*should* not cause deadlock, but feels a bit risky). 2012-07-10 10:04:52 +00:00
Nick Bolton 8bad45e8a2 * fixed a shit-ton of memory leaks (lots in the ipc log handler, oops)
* added non-pod data support to events (event delete can now call dtors)
* improved cleanup of ipc message objects (because of non-pod event data support)
* moved the "message received" event up to ipc server and client (passed on from proxies)
2012-07-10 01:51:51 +00:00
Nick Bolton 21cf3f2478 fixed minor warning - type signing mismatch. 2012-07-09 12:27:13 +00:00
Nick Bolton 346666791e * made gui ipc reader more robust by getting rid of reader thread (but read wait now blocks gui thread)
* separated ipc client proxy mutex into read and write (i think read was deadlocking write)
* fixed cpu spinning on ipc log send buffer thread (now uses wait cond like before).
2012-07-09 12:09:24 +00:00
Nick Bolton e501552f24 * increased gui ipc read check (yes yes, i should be using wait cond... but qt mutexes suck)
* added mutex to client proxy to protect stream
* added try/catch to ipc log outputter buffer thread
* protected ipc client proxy list with mutex (saw a weird stl error, might be caused by cross-thread weirdness)
2012-07-08 17:49:45 +00:00
Nick Bolton ecf1833f36 * removed wait cond and mutex usage from gui ipc log reader (it was being used incorrectly anyway)
* raised the log-to-console level to DEBUG2
* added force option to ipc log buffer (to side-step the anti-recursion "mechanism")
* made relauncher always relay server/client messages to ipc client (gui)
2012-07-08 16:27:28 +00:00
Nick Bolton f0493351a1 attempting to solve ipc recursion/deadlock problem by always buffering in the log outputter. 2012-07-08 16:01:27 +00:00
Nick Bolton af9a6beb78 made ipc reader on gui side more robuts, but deadlocking issue on ipc server still exists (caused by sending log messages). 2012-07-06 22:17:26 +00:00
Nick Bolton 663cd28f2d attempting to fix deadlocks by going mutex crazy (this never ends well) 2012-07-06 16:18:21 +00:00
Nick Bolton 17a92f4f4c attempted to fix deadlock caused by ipc logger causing recursion. 2012-07-06 14:46:46 +00:00
Nick Bolton 12eb8efb61 implemented ipc message buffering (dequeues on gui reconnect) 2012-07-06 12:27:22 +00:00