maria-discuss team mailing list archive
Mailing list archive
Oleg Tsarev <zabivator@xxxxxxxxx> writes:
> I need my_atomic_add64 in mysql.
> Can i simple add following macros, or i need more advanced tricks?
> tsarev@main:/storage/project/percona/rtd_2$ diff -Nur
> ../rtd/c/include/my_atomic.h c/include/my_atomic.h
> --- ../rtd/c/include/my_atomic.h 2010-07-09 16:35:11.000000000 +0400
> +++ c/include/my_atomic.h 2010-08-17 18:57:07.648819066 +0400
I think you'll also need
#define U_32 int32
#define Uv_32 int32
> @@ -96,25 +96,30 @@
> make_atomic_cas( 8)
My guess is it should work, at least on 64-bit platforms.
I'm not sure that 32-bit CPUs generally provide 64-bit atomic operations. If
not (which seems likely, really), you'll need to come up with something to
handle this case. Note that the my_atomic stuff has the possibility to
fallback to mutex locking when support is not available, so one way might be
to make it use this fallback on 32-bit (taking a performance penalty, but
32-bit is getting less and less interesting by the day anyway).