svn commit: r351786 - in stable/12: share/man/man9 sys/sys
Konstantin Belousov
kib at FreeBSD.org
Tue Sep 3 19:52:29 UTC 2019
Author: kib
Date: Tue Sep 3 19:52:28 2019
New Revision: 351786
URL: https://svnweb.freebsd.org/changeset/base/351786
Log:
MFC r350204:
Switch the rest of the refcount(9) functions to bool return type.
Modified:
stable/12/share/man/man9/refcount.9
stable/12/sys/sys/refcount.h
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/share/man/man9/refcount.9
==============================================================================
--- stable/12/share/man/man9/refcount.9 Tue Sep 3 19:50:38 2019 (r351785)
+++ stable/12/share/man/man9/refcount.9 Tue Sep 3 19:52:28 2019 (r351786)
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 20, 2009
+.Dd July 21, 2019
.Dt REFCOUNT 9
.Os
.Sh NAME
@@ -42,7 +42,7 @@
.Fn refcount_init "volatile u_int *count" "u_int value"
.Ft void
.Fn refcount_acquire "volatile u_int *count"
-.Ft int
+.Ft bool
.Fn refcount_release "volatile u_int *count"
.Sh DESCRIPTION
The
@@ -73,9 +73,9 @@ protection for acquiring a new reference.
The
.Fn refcount_release
function is used to release an existing reference.
-The function returns a non-zero value if the reference being released was
+The function returns true if the reference being released was
the last reference;
-otherwise, it returns zero.
+otherwise, it returns false.
.Pp
Note that these routines do not provide any inter-CPU synchronization,
data protection,
@@ -89,7 +89,7 @@ is released.
.Sh RETURN VALUES
The
.Nm refcount_release
-function returns non-zero when releasing the last reference and zero when
+function returns true when releasing the last reference and false when
releasing any other reference.
.Sh HISTORY
These functions were introduced in
Modified: stable/12/sys/sys/refcount.h
==============================================================================
--- stable/12/sys/sys/refcount.h Tue Sep 3 19:50:38 2019 (r351785)
+++ stable/12/sys/sys/refcount.h Tue Sep 3 19:52:28 2019 (r351786)
@@ -70,7 +70,7 @@ refcount_acquire_checked(volatile u_int *count)
}
}
-static __inline int
+static __inline bool
refcount_release(volatile u_int *count)
{
u_int old;
@@ -79,7 +79,7 @@ refcount_release(volatile u_int *count)
old = atomic_fetchadd_int(count, -1);
KASSERT(old > 0, ("refcount %p is zero", count));
if (old > 1)
- return (0);
+ return (false);
/*
* Last reference. Signal the user to call the destructor.
@@ -88,7 +88,7 @@ refcount_release(volatile u_int *count)
* at the start of the function synchronized with this fence.
*/
atomic_thread_fence_acq();
- return (1);
+ return (true);
}
/*
@@ -97,7 +97,7 @@ refcount_release(volatile u_int *count)
*
* A temporary hack until refcount_* APIs are sorted out.
*/
-static __inline __result_use_check int
+static __inline __result_use_check bool
refcount_acquire_if_not_zero(volatile u_int *count)
{
u_int old;
@@ -106,13 +106,13 @@ refcount_acquire_if_not_zero(volatile u_int *count)
for (;;) {
KASSERT(old < UINT_MAX, ("refcount %p overflowed", count));
if (old == 0)
- return (0);
+ return (false);
if (atomic_fcmpset_int(count, &old, old + 1))
- return (1);
+ return (true);
}
}
-static __inline __result_use_check int
+static __inline __result_use_check bool
refcount_release_if_not_last(volatile u_int *count)
{
u_int old;
@@ -121,9 +121,9 @@ refcount_release_if_not_last(volatile u_int *count)
for (;;) {
KASSERT(old > 0, ("refcount %p is zero", count));
if (old == 1)
- return (0);
+ return (false);
if (atomic_fcmpset_int(count, &old, old - 1))
- return (1);
+ return (true);
}
}
More information about the svn-src-stable
mailing list