Module Name: xsrc Committed By: msaitoh Date: Mon Nov 3 15:01:41 UTC 2014
Modified Files: xsrc/external/mit/libdrm/dist [netbsd-6]: xf86atomic.h Log Message: Pull up following revision(s) (requested by riastradh in ticket #1116): external/mit/libdrm/dist/xf86atomic.h: revision 1.4 Fix libdrm's atomic_dec_and_test on NetBSD (and Solaris, while here). _nv means new value, not old value! This may help to fix various instability in userland graphics, now that we aren't freeing stuff with a reference count of 1 any more. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.3.2.1 xsrc/external/mit/libdrm/dist/xf86atomic.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/external/mit/libdrm/dist/xf86atomic.h diff -u xsrc/external/mit/libdrm/dist/xf86atomic.h:1.3 xsrc/external/mit/libdrm/dist/xf86atomic.h:1.3.2.1 --- xsrc/external/mit/libdrm/dist/xf86atomic.h:1.3 Sat Aug 14 10:19:31 2010 +++ xsrc/external/mit/libdrm/dist/xf86atomic.h Mon Nov 3 15:01:41 2014 @@ -85,7 +85,7 @@ typedef struct { uint_t atomic; } atomic # define atomic_read(x) (int) ((x)->atomic) # define atomic_set(x, val) ((x)->atomic = (uint_t)(val)) # define atomic_inc(x) (atomic_inc_uint (&(x)->atomic)) -# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 1) +# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 0) # define atomic_add(x, v) (atomic_add_int(&(x)->atomic, (v))) # define atomic_dec(x, v) (atomic_add_int(&(x)->atomic, -(v))) # define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv) @@ -102,7 +102,7 @@ typedef struct { int atomic; } atomic_t; # define atomic_read(x) (int) ((x)->atomic) # define atomic_set(x, val) ((x)->atomic = (val)) # define atomic_inc(x) (atomic_inc_uint (&(x)->atomic)) -# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 1) +# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 0) # define atomic_add(x, v) (atomic_add_int(&(x)->atomic, (v))) # define atomic_dec(x, v) (atomic_add_int(&(x)->atomic, -(v))) # define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv)