diff options
author | Keith Bostic <keith@wiredtiger.com> | 2012-05-07 20:28:43 +0000 |
---|---|---|
committer | Keith Bostic <keith@wiredtiger.com> | 2012-05-07 20:28:43 +0000 |
commit | f899a311517ede23bbfe7963746ade32bcf68af7 (patch) | |
tree | 88ce37f0cbdca6bff56aa1a410745561f6240798 /dist | |
parent | c4dfc3f4d26eccfea8619670e718164a7550d042 (diff) | |
download | mongo-f899a311517ede23bbfe7963746ade32bcf68af7.tar.gz |
Rework WT_EVENT_HANDLERs.
All 3 event handlers can now return an error (we ignore the return in the
__wt_err/__wt_errx functions, presumably those aren't being called unless
we're already returning an error). If a handler itself fails, we report
the failure using first the application-
The big result of this change is the WT_VERBOSE macro family can now all
return errors. Get rid of WT_VERBOSE, and replace it with
WT_VERBOSE_ERR (jump to err: on error) and WT_VERBOSE_RET (return value
on error), plus WT_VERBOSE_VOID (ignore any error) in a few places.
Remove WT_VERBOSE_CALL, and inline the test in the few places that used
it. This change required lots of code shuffling, changing void functions
to return errors, and other kinds of cleanups.
Change the WiredTiger error-printf extension function to return an
error. Again, I would anticipate callers to the function would ignore
the return (presumably, they're calling the error printf function before
returning an error), but there's no reason to believe that's the case,
or that the inability to inject an error message into the system isn't
fatal in a different way than the error being reported. While I was in
the area, simplify the interface the error-printf extension uses, rather
than export __wt_eventv in all its 7-argument glory. I also wrote some
documentation for all of the extension functions.
I shuffled the code in block-manager open/close to always unload any
snapshot that had been loaded (partially, or fully), it's better than
the caller guessing how far we got in the open process before failing.
Rename __wt_msgv to be __wt_vmsg (match the print(3)-style API names).
Diffstat (limited to 'dist')
-rw-r--r-- | dist/s_string.ok | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/dist/s_string.ok b/dist/s_string.ok index 90e10601698..7c159d02e3e 100644 --- a/dist/s_string.ok +++ b/dist/s_string.ok @@ -520,7 +520,9 @@ utf va vanishingly vcell +verrx versa +vmsg vpack vsize vslot |