Commit graph

75 commits

Author SHA1 Message Date
dnotestein
9e320a3db8 Add descriptions for a bunch of async tasks, remove logging during thread::quit to avoid crashes for now until we cleanup thread quit code 2014-07-27 00:09:15 -04:00
dnotestein
34296fbb4a Eliminate local variable that was shadowing data member variable stack_ctx in context object, which resulted in an assert when the context object was destructed. 2014-07-24 15:18:53 -04:00
Daniel Larimer
6ef73a4198 reduce default stack size by 50% to 4x default from 8x 2014-07-17 23:03:23 -04:00
Daniel Larimer
eed62c8338 sockets now wait for any pending write or read operations to finish before destructing 2014-07-17 17:03:25 -04:00
Vikram Rajkumar
e9b1b8ec2e Use a separate thread for log compression 2014-07-03 17:24:06 -04:00
Eric Frias
160da5dbb9 Fix invalid iterator comparison in process_canceled_tasks when canceling the only task in task_sch_queue 2014-06-29 18:50:05 -04:00
Daniel Larimer
892df5c0b7 canceled scheduled tasks return immediately when waited upon 2014-06-28 21:46:10 -04:00
Daniel Larimer
ffa617183e if a task is canceled before it is run, then it will throw a canceled exception 2014-06-28 21:08:15 -04:00
dnotestein
bf9bd5a9f6 Increase task context stack from 64K to 8*64K to prevent the stack from overflowing in the p2p code. 2014-06-16 16:59:37 -04:00
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