This commit is contained in:
parent
d9a3b9daef
commit
5e047028be
|
@ -71,20 +71,20 @@ int taosSetSockOpt(int socketfd, int level, int optname, void *optval, int optle
|
||||||
}
|
}
|
||||||
|
|
||||||
// add
|
// add
|
||||||
// char interlocked_add_fetch_8(char volatile* ptr, char val) {
|
|
||||||
// return _InterlockedExchangeAdd8(ptr, val) + val;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// short interlocked_add_fetch_16(short volatile* ptr, short val) {
|
|
||||||
// return _InterlockedExchangeAdd16(ptr, val) + val;
|
|
||||||
// }
|
|
||||||
|
|
||||||
char interlocked_add_fetch_8(char volatile* ptr, char val) {
|
char interlocked_add_fetch_8(char volatile* ptr, char val) {
|
||||||
return __sync_fetch_and_add(ptr, val) + val;
|
#ifdef _TD_GO_DLL_
|
||||||
|
return __sync_fetch_and_add(ptr, val) + val;
|
||||||
|
#else
|
||||||
|
return _InterlockedExchangeAdd8(ptr, val) + val;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
short interlocked_add_fetch_16(short volatile* ptr, short val) {
|
short interlocked_add_fetch_16(short volatile* ptr, short val) {
|
||||||
return __sync_fetch_and_add(ptr, val) + val;
|
#ifdef _TD_GO_DLL_
|
||||||
|
return __sync_fetch_and_add(ptr, val) + val;
|
||||||
|
#else
|
||||||
|
return _InterlockedExchangeAdd16(ptr, val) + val;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
long interlocked_add_fetch_32(long volatile* ptr, long val) {
|
long interlocked_add_fetch_32(long volatile* ptr, long val) {
|
||||||
|
@ -96,13 +96,15 @@ __int64 interlocked_add_fetch_64(__int64 volatile* ptr, __int64 val) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// and
|
// and
|
||||||
// char interlocked_and_fetch_8(char volatile* ptr, char val) {
|
#ifndef _TD_GO_DLL_
|
||||||
// return _InterlockedAnd8(ptr, val) & val;
|
char interlocked_and_fetch_8(char volatile* ptr, char val) {
|
||||||
// }
|
return _InterlockedAnd8(ptr, val) & val;
|
||||||
|
}
|
||||||
|
|
||||||
// short interlocked_and_fetch_16(short volatile* ptr, short val) {
|
short interlocked_and_fetch_16(short volatile* ptr, short val) {
|
||||||
// return _InterlockedAnd16(ptr, val) & val;
|
return _InterlockedAnd16(ptr, val) & val;
|
||||||
// }
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
long interlocked_and_fetch_32(long volatile* ptr, long val) {
|
long interlocked_and_fetch_32(long volatile* ptr, long val) {
|
||||||
return _InterlockedAnd(ptr, val) & val;
|
return _InterlockedAnd(ptr, val) & val;
|
||||||
|
@ -136,14 +138,15 @@ __int64 interlocked_fetch_and_64(__int64 volatile* ptr, __int64 val) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// or
|
// or
|
||||||
// char interlocked_or_fetch_8(char volatile* ptr, char val) {
|
#ifndef _TD_GO_DLL_
|
||||||
// return _InterlockedOr8(ptr, val) | val;
|
char interlocked_or_fetch_8(char volatile* ptr, char val) {
|
||||||
// }
|
return _InterlockedOr8(ptr, val) | val;
|
||||||
|
}
|
||||||
// short interlocked_or_fetch_16(short volatile* ptr, short val) {
|
|
||||||
// return _InterlockedOr16(ptr, val) | val;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
short interlocked_or_fetch_16(short volatile* ptr, short val) {
|
||||||
|
return _InterlockedOr16(ptr, val) | val;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
long interlocked_or_fetch_32(long volatile* ptr, long val) {
|
long interlocked_or_fetch_32(long volatile* ptr, long val) {
|
||||||
return _InterlockedOr(ptr, val) | val;
|
return _InterlockedOr(ptr, val) | val;
|
||||||
}
|
}
|
||||||
|
@ -176,14 +179,15 @@ __int64 interlocked_fetch_or_64(__int64 volatile* ptr, __int64 val) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// xor
|
// xor
|
||||||
// char interlocked_xor_fetch_8(char volatile* ptr, char val) {
|
#ifndef _TD_GO_DLL_
|
||||||
// return _InterlockedXor8(ptr, val) ^ val;
|
char interlocked_xor_fetch_8(char volatile* ptr, char val) {
|
||||||
// }
|
return _InterlockedXor8(ptr, val) ^ val;
|
||||||
|
}
|
||||||
// short interlocked_xor_fetch_16(short volatile* ptr, short val) {
|
|
||||||
// return _InterlockedXor16(ptr, val) ^ val;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
short interlocked_xor_fetch_16(short volatile* ptr, short val) {
|
||||||
|
return _InterlockedXor16(ptr, val) ^ val;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
long interlocked_xor_fetch_32(long volatile* ptr, long val) {
|
long interlocked_xor_fetch_32(long volatile* ptr, long val) {
|
||||||
return _InterlockedXor(ptr, val) ^ val;
|
return _InterlockedXor(ptr, val) ^ val;
|
||||||
}
|
}
|
||||||
|
@ -410,6 +414,7 @@ char *strndup(const char *s, size_t n) {
|
||||||
|
|
||||||
void taosSetCoreDump() {}
|
void taosSetCoreDump() {}
|
||||||
|
|
||||||
|
#ifdef _TD_GO_DLL_
|
||||||
int64_t str2int64(char *str) {
|
int64_t str2int64(char *str) {
|
||||||
char *endptr = NULL;
|
char *endptr = NULL;
|
||||||
return strtoll(str, &endptr, 10);
|
return strtoll(str, &endptr, 10);
|
||||||
|
@ -419,3 +424,4 @@ uint64_t htonll(uint64_t val)
|
||||||
{
|
{
|
||||||
return (((uint64_t) htonl(val)) << 32) + htonl(val >> 32);
|
return (((uint64_t) htonl(val)) << 32) + htonl(val >> 32);
|
||||||
}
|
}
|
||||||
|
#endif
|
Loading…
Reference in New Issue