[llvm-commits] [llvm] r109586 - in /llvm/trunk: include/llvm/Support/CrashRecoveryContext.h lib/Support/CrashRecoveryContext.cpp
daniel at zuster.org
Wed Jul 28 13:19:54 PDT 2010
On Wed, Jul 28, 2010 at 9:12 AM, Chris Lattner <clattner at apple.com> wrote:
> On Jul 28, 2010, at 8:40 AM, Daniel Dunbar wrote:
>> Author: ddunbar
>> Date: Wed Jul 28 10:40:20 2010
>> New Revision: 109586
>> URL: http://llvm.org/viewvc/llvm-project?rev=109586&view=rev
>> Support: Add CrashRecoveryContext helper object.
>> - Designed as a simple wrapper to allow clients to attempt to catch crashes
>> (memory errors, assertion violations, etc.) and do some kind of recovery.
>> - Currently doesn't actually attempt to catch crashes.
> Looks like a nice interface.
I hope so -- assuming it has more than 0 working implementations. :)
>> + /// \return True if the function completed successfully, and false if the
>> + /// function crashed (or HandleCrash was called explicitly). Clients should
>> + /// make as little assumptions as possible about the program state when
>> + /// RunSafely has returned false. Clients can use getBacktrace() to retrieve
>> + /// the backtrace of the crash on failures.
>> + bool RunSafely(void (*Fn)(void*), void *UserData);
> It would be nice to add an #ifdef __BLOCKS__ version of this that took a block to execute.
Yeah, this occurred to me as well. I'll try to get around to it.
More information about the llvm-commits