Print this page
5042 stop using deprecated atomic functions
*** 22,33 ****
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
- #pragma ident "%Z%%M% %I% %E% SMI"
-
#include "nge.h"
/*
* Atomically decrement a counter, but only if it will remain
* positive (>=0) afterwards.
--- 22,31 ----
*** 42,52 ****
do {
oldval = *count_p;
newval = oldval - n;
if (oldval < n)
return (B_FALSE);
! } while (cas64(count_p, oldval, newval) != oldval);
return (B_TRUE);
}
/*
--- 40,50 ----
do {
oldval = *count_p;
newval = oldval - n;
if (oldval < n)
return (B_FALSE);
! } while (atomic_cas_64(count_p, oldval, newval) != oldval);
return (B_TRUE);
}
/*
*** 60,70 ****
/* ATOMICALLY */
do {
oldval = *count_p;
newval = oldval + n;
! } while (cas64(count_p, oldval, newval) != oldval);
}
/*
* Atomically shift a 32-bit word left, returning
--- 58,68 ----
/* ATOMICALLY */
do {
oldval = *count_p;
newval = oldval + n;
! } while (atomic_cas_64(count_p, oldval, newval) != oldval);
}
/*
* Atomically shift a 32-bit word left, returning
*** 78,86 ****
/* ATOMICALLY */
do {
oldval = *sp;
newval = oldval << count;
! } while (cas32(sp, oldval, newval) != oldval);
return (oldval);
}
--- 76,84 ----
/* ATOMICALLY */
do {
oldval = *sp;
newval = oldval << count;
! } while (atomic_cas_32(sp, oldval, newval) != oldval);
return (oldval);
}