Commit graph

16 commits

Author SHA1 Message Date
Eric Frias
c63e598497 Fix a race that occurred when notifying a thread that was blocked on a
promise to wake up, but that thread simultaneously awoke for another
reason (probably a timeout)
2014-04-14 16:27:08 -04:00
Eric Frias
061007ee29 In debug builds, set the thread name in the debugger to match the name given to fc::thread ctor 2014-04-01 16:56:11 -04:00
Eric Frias
f791cba36b Fix Keyhotee hang when setting system clock back bug 2014-04-01 15:22:53 -04:00
Eric Frias
e04d544016 Remove erroneous assert in fc::thread_d::check_for_timeouts()
I believe this assert was being triggered when the only task on
a thread did a fc::usleep (it might only have been when the
sleep was of very short duration).
2014-03-10 17:37:38 -04:00
Eric Frias
fdbaf88e5e Provide a way to intercept Win32 structured exceptions in async tasks
Something about the stacks created by boost::context prevents global structured exception handlers
from being called.  This allows the user to register a handler which will be called when there
is an unhandled structured exception in async task.
2014-03-08 18:48:19 -05:00
vogel76
08ab455dff [BW]: [Fix] fc::task_base class member initialization. 2014-01-06 23:58:42 +01:00
dnotestein
c84b69e094 Fix for unblock to make sure it switches to proper thread before running async. 2014-01-06 17:08:36 -05:00
dnotestein
8e47816c4e Fix for problem reported with Boost 1.55 (memory_order_consume removed?). Also added move constructors for future, this second change probably needs review. 2013-12-12 09:19:15 -05:00
dnotestein
35077ea231 Set minimum sleep time to 10ms to avoid potential race where the thread wakes back up immediately after being put on sleep queue. This can probably be reduced to about 2ms, but this just seemed safer for now (DanL suggested 10ms). 2013-12-06 00:22:06 -05:00
Daniel Larimer
7bf6374299 MAJOR BUG FIX - fc::usleep causing hang&leak
In certain cases when usleep is passed a small value, there is
a race condition that would cause the process to hang and then
when an attempt to quit the thread was made new contexts would
be allocated rapidly filling all available memory.
2013-08-19 14:44:13 -04:00
Daniel Larimer
dd18675788 fix boost 1.54 support 2013-08-11 10:18:08 -04:00
dnotestein
404cf8ae5c Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix
Conflicts:
	CMakeLists.txt
	include/fc/ptr.hpp
2013-08-11 09:59:55 -04:00
Daniel Larimer
7b8494d7f8 upgrading to a version of boost that includes boost::atomic and boost::context 2013-08-08 21:31:35 -04:00
Daniel Larimer
f5f3bb5102 error cleanup, log cleanup, bug fixes 2013-07-18 22:19:19 -04:00
Daniel Larimer
b07aed4a22 Update use of fc::string and fc::vector. 2013-06-27 14:19:08 -04:00
Daniel Larimer
59a121d64b Updating FC with changes from phoenix-int 2013-06-05 15:19:00 -04:00