error: Document how to accumulate multiple errors
Suggested-by: Eric Blake <eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1447776349-2344-1-git-send-email-armbru@redhat.com>
This commit is contained in:
parent
649a1bbaf9
commit
8d780f4392
@ -76,6 +76,23 @@
|
||||
* But when all you do with the error is pass it on, please use
|
||||
* foo(arg, errp);
|
||||
* for readability.
|
||||
*
|
||||
* Receive and accumulate multiple errors (first one wins):
|
||||
* Error *err = NULL, *local_err = NULL;
|
||||
* foo(arg, &err);
|
||||
* bar(arg, &local_err);
|
||||
* error_propagate(&err, local_err);
|
||||
* if (err) {
|
||||
* handle the error...
|
||||
* }
|
||||
*
|
||||
* Do *not* "optimize" this to
|
||||
* foo(arg, &err);
|
||||
* bar(arg, &err); // WRONG!
|
||||
* if (err) {
|
||||
* handle the error...
|
||||
* }
|
||||
* because this may pass a non-null err to bar().
|
||||
*/
|
||||
|
||||
#ifndef ERROR_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user