[Libvir] [PATCH REPOST] warn about conn, dom and net fields in virterror
Richard W.M. Jones
rjones at redhat.com
Wed Apr 9 12:08:37 UTC 2008
First discussed in this thread:
http://www.redhat.com/archives/libvir-list/2008-March/thread.html#00367
The attached patch contains a slightly different warning about
the danger of using these fields.
Rich.
--
Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top
-------------- next part --------------
Index: include/libvirt/virterror.h
===================================================================
RCS file: /data/cvs/libvirt/include/libvirt/virterror.h,v
retrieving revision 1.35
diff -u -p -r1.35 virterror.h
--- include/libvirt/virterror.h 21 Mar 2008 15:03:37 -0000 1.35
+++ include/libvirt/virterror.h 9 Apr 2008 12:09:44 -0000
@@ -63,6 +63,10 @@ typedef enum {
* virError:
*
* A libvirt Error instance.
+ *
+ * The conn, dom and net fields should be used with extreme care.
+ * Reference counts are not incremented so the underlying objects
+ * may be deleted without notice after the error has been delivered.
*/
typedef struct _virError virError;
@@ -72,14 +76,14 @@ struct _virError {
int domain; /* What part of the library raised this error */
char *message;/* human-readable informative error message */
virErrorLevel level;/* how consequent is the error */
- virConnectPtr conn; /* the connection if available */
- virDomainPtr dom; /* the domain if available */
+ virConnectPtr conn; /* connection if available, see note above */
+ virDomainPtr dom; /* domain if available, see note above */
char *str1; /* extra string information */
char *str2; /* extra string information */
char *str3; /* extra string information */
int int1; /* extra number information */
int int2; /* extra number information */
- virNetworkPtr net; /* the network if available */
+ virNetworkPtr net; /* network if available, see note above */
};
/**
More information about the libvir-list
mailing list