projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Plugins are alive!
[babeltrace.git]
/
include
/
babeltrace
/
ref-internal.h
diff --git
a/include/babeltrace/ref-internal.h
b/include/babeltrace/ref-internal.h
index 224e9229fdb787bb2373ae33ff0b1d959a9d5e84..8578de97b2ec1808eded8e9887961c1e3e7f4644 100644
(file)
--- a/
include/babeltrace/ref-internal.h
+++ b/
include/babeltrace/ref-internal.h
@@
-34,7
+34,7
@@
struct bt_object;
typedef void (*bt_object_release_func)(struct bt_object *);
struct bt_ref {
typedef void (*bt_object_release_func)(struct bt_object *);
struct bt_ref {
- long count;
+
unsigned
long count;
bt_object_release_func release;
};
bt_object_release_func release;
};
@@
-51,6
+51,8
@@
void bt_ref_get(struct bt_ref *ref)
{
assert(ref);
ref->count++;
{
assert(ref);
ref->count++;
+ /* Overflow check. */
+ assert(ref->count);
}
static inline
}
static inline
@@
-58,7
+60,6
@@
void bt_ref_put(struct bt_ref *ref)
{
assert(ref);
/* Only assert if the object has opted-in for reference counting. */
{
assert(ref);
/* Only assert if the object has opted-in for reference counting. */
- assert(!ref->release || ref->count > 0);
if ((--ref->count) == 0 && ref->release) {
ref->release((struct bt_object *) ref);
}
if ((--ref->count) == 0 && ref->release) {
ref->release((struct bt_object *) ref);
}
This page took
0.0237 seconds
and
4
git commands to generate.