Fault Tolerant Heap

http://channel9.msdn.com/shows/Going+Deep/Silviu-Calinoiu-Inside-Windows-7-Fault-Tolerant-Heap/


http://msdn.microsoft.com/en-us/library/dd744764%28VS.85%29.aspx

std::future

http://www.ddj.com/cpp/222301165
http://www2.research.att.com/~bs/C++0xFAQ.html#std-future

Definitions of Non-blocking, Lock-free and Wait-free

http://www.justsoftwaresolutions.co.uk/threading/non_blocking_lock_free_and_wait_free.html

Jed Duffy about messages and blocking

Overly aggressively admitting messages may seem like the right thing to do, until you’ve wedged yourself into some unforeseen inconsistent state.  You can avoid this by making each message handler atomic; see Argus.  But if you can't or don't have the discipline to do that, or aren't quite sure, you must not pump.  You either avoid pumping altogether or you selectively pump messages that do not touch the state encapsulated by the pump.  Or you lock access to state with a non-recursive lock and run the risk of deadlock.


http://www.bluebytesoftware.com/blog/2010/01/08/MusingOnMessagesAndBlocking.aspx

How to run WinDbg to debug local machine

1. Set _NT_SYMBOL_PATH to something similiar
_NT_SYMBOL_PATH=srv*d:\pdb_cache*http://msdl.microsoft.com/download/symbols


2. Download LiveKd v 3.12 or higher
http://technet.microsoft.com/en-us/sysinternals/bb897415.aspx


3. Download and install WinDbg (6.11 or higher version)
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#b


4. Copy livekd to directory of WinDbg
(C:\Program Files\Debugging Tools for Windows (x86))


5. Run
livekd -w


6. Have a fun


P.S. If you have problems then temporary disable firewall to allow download symbols from Microsoft symbols server.
http://forum.sysinternals.com/forum_posts.asp?TID=13501&PN=3
 

 
Tomasz Kulig