Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
0c96f765
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0c96f765
编写于
1月 17, 2021
作者:
F
freemine
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1. bugfix: eok.c: array of pointers rather than POD buffer
2. initial port of taosd for MacOSX
上级
c5dfa590
变更
35
隐藏空白更改
内联
并排
Showing
35 changed file
with
413 addition
and
64 deletion
+413
-64
cmake/define.inc
cmake/define.inc
+2
-0
deps/CMakeLists.txt
deps/CMakeLists.txt
+5
-1
packaging/tools/install_client.sh
packaging/tools/install_client.sh
+1
-1
packaging/tools/make_install.sh
packaging/tools/make_install.sh
+9
-5
src/balance/CMakeLists.txt
src/balance/CMakeLists.txt
+4
-0
src/client/CMakeLists.txt
src/client/CMakeLists.txt
+22
-0
src/cq/CMakeLists.txt
src/cq/CMakeLists.txt
+11
-1
src/dnode/CMakeLists.txt
src/dnode/CMakeLists.txt
+40
-1
src/dnode/src/dnodeSystem.c
src/dnode/src/dnodeSystem.c
+4
-0
src/dnode/src/dnodeTelemetry.c
src/dnode/src/dnodeTelemetry.c
+7
-0
src/kit/shell/CMakeLists.txt
src/kit/shell/CMakeLists.txt
+8
-5
src/kit/taosdemo/CMakeLists.txt
src/kit/taosdemo/CMakeLists.txt
+10
-1
src/kit/taosdemox/CMakeLists.txt
src/kit/taosdemox/CMakeLists.txt
+28
-6
src/kit/taosdump/CMakeLists.txt
src/kit/taosdump/CMakeLists.txt
+11
-1
src/mnode/CMakeLists.txt
src/mnode/CMakeLists.txt
+12
-1
src/mnode/src/mnodeCluster.c
src/mnode/src/mnodeCluster.c
+7
-0
src/os/src/darwin/eok.c
src/os/src/darwin/eok.c
+70
-29
src/os/src/detail/CMakeLists.txt
src/os/src/detail/CMakeLists.txt
+1
-0
src/plugins/http/CMakeLists.txt
src/plugins/http/CMakeLists.txt
+17
-2
src/plugins/http/src/httpServer.c
src/plugins/http/src/httpServer.c
+46
-0
src/plugins/monitor/CMakeLists.txt
src/plugins/monitor/CMakeLists.txt
+12
-2
src/plugins/mqtt/CMakeLists.txt
src/plugins/mqtt/CMakeLists.txt
+12
-0
src/query/CMakeLists.txt
src/query/CMakeLists.txt
+5
-0
src/rpc/src/rpcTcp.c
src/rpc/src/rpcTcp.c
+8
-2
src/rpc/test/CMakeLists.txt
src/rpc/test/CMakeLists.txt
+14
-0
src/sync/CMakeLists.txt
src/sync/CMakeLists.txt
+14
-1
src/sync/src/syncRetrieve.c
src/sync/src/syncRetrieve.c
+1
-1
src/sync/test/CMakeLists.txt
src/sync/test/CMakeLists.txt
+0
-1
src/util/CMakeLists.txt
src/util/CMakeLists.txt
+2
-1
src/vnode/CMakeLists.txt
src/vnode/CMakeLists.txt
+6
-0
src/wal/CMakeLists.txt
src/wal/CMakeLists.txt
+7
-1
src/wal/test/CMakeLists.txt
src/wal/test/CMakeLists.txt
+8
-0
tests/comparisonTest/tdengine/CMakeLists.txt
tests/comparisonTest/tdengine/CMakeLists.txt
+5
-0
tests/examples/c/CMakeLists.txt
tests/examples/c/CMakeLists.txt
+3
-0
tests/examples/c/demo.c
tests/examples/c/demo.c
+1
-1
未找到文件。
cmake/define.inc
浏览文件 @
0c96f765
...
...
@@ -128,6 +128,8 @@ IF (TD_DARWIN_64)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -Wno-missing-braces -fPIC -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
SET
(
DEBUG_FLAGS
"-O0 -g3 -DDEBUG"
)
SET
(
RELEASE_FLAGS
"-Og"
)
INCLUDE_DIRECTORIES
(
$
{
TD_COMMUNITY_DIR
}
/
deps
/
cJson
/
inc
)
INCLUDE_DIRECTORIES
(
$
{
TD_COMMUNITY_DIR
}
/
deps
/
lz4
/
inc
)
ENDIF
()
IF
(
TD_WINDOWS
)
...
...
deps/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -12,4 +12,8 @@ ADD_SUBDIRECTORY(MsvcLibX)
IF
(
TD_LINUX AND TD_MQTT
)
ADD_SUBDIRECTORY
(
MQTT-C
)
ENDIF
()
\ No newline at end of file
ENDIF
()
IF
(
TD_DARWIN AND TD_MQTT
)
ADD_SUBDIRECTORY
(
MQTT-C
)
ENDIF
()
packaging/tools/install_client.sh
浏览文件 @
0c96f765
...
...
@@ -21,7 +21,7 @@ else
cd
${
script_dir
}
script_dir
=
"
$(
pwd
)
"
data_dir
=
"/var/lib/taos"
log_dir
=
"~/TDengineLog"
log_dir
=
~/TDengineLog
fi
log_link_dir
=
"/usr/local/taos/log"
...
...
packaging/tools/make_install.sh
浏览文件 @
0c96f765
...
...
@@ -24,7 +24,7 @@ data_dir="/var/lib/taos"
if
[
"
$osType
"
!=
"Darwin"
]
;
then
log_dir
=
"/var/log/taos"
else
log_dir
=
"~/TDengineLog"
log_dir
=
~/TDengineLog
fi
data_link_dir
=
"/usr/local/taos/data"
...
...
@@ -178,7 +178,9 @@ function install_bin() {
function
install_lib
()
{
# Remove links
${
csudo
}
rm
-f
${
lib_link_dir
}
/libtaos.
*
||
:
${
csudo
}
rm
-f
${
lib64_link_dir
}
/libtaos.
*
||
:
if
[
"
$osType
"
!=
"Darwin"
]
;
then
${
csudo
}
rm
-f
${
lib64_link_dir
}
/libtaos.
*
||
:
fi
if
[
"
$osType
"
!=
"Darwin"
]
;
then
${
csudo
}
cp
${
binary_dir
}
/build/lib/libtaos.so.
${
verNumber
}
${
install_main_dir
}
/driver
&&
${
csudo
}
chmod
777
${
install_main_dir
}
/driver/
*
...
...
@@ -190,12 +192,14 @@ function install_lib() {
${
csudo
}
ln
-sf
${
lib64_link_dir
}
/libtaos.so.1
${
lib64_link_dir
}
/libtaos.so
fi
else
${
csudo
}
cp
${
binary_dir
}
/build/lib/libtaos.
*
${
install_main_dir
}
/driver
&&
${
csudo
}
chmod
777
${
install_main_dir
}
/driver/
*
${
csudo
}
ln
-sf
${
install_main_dir
}
/driver/libtaos.
*
${
lib_link_dir
}
/libtaos.1.dylib
${
csudo
}
cp
-Rf
${
binary_dir
}
/build/lib/libtaos.
*
${
install_main_dir
}
/driver
&&
${
csudo
}
chmod
777
${
install_main_dir
}
/driver/
*
${
csudo
}
ln
-sf
${
install_main_dir
}
/driver/libtaos.
1.dylib
${
lib_link_dir
}
/libtaos.1.dylib
${
csudo
}
ln
-sf
${
lib_link_dir
}
/libtaos.1.dylib
${
lib_link_dir
}
/libtaos.dylib
fi
${
csudo
}
ldconfig
if
[
"
$osType
"
!=
"Darwin"
]
;
then
${
csudo
}
ldconfig
fi
}
function
install_header
()
{
...
...
src/balance/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -11,3 +11,7 @@ AUX_SOURCE_DIRECTORY(src SRC)
IF
(
TD_LINUX
)
ADD_LIBRARY
(
balance
${
SRC
}
)
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
balance
${
SRC
}
)
ENDIF
()
src/client/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -28,6 +28,28 @@ IF (TD_LINUX)
ADD_SUBDIRECTORY
(
tests
)
ELSEIF
(
TD_DARWIN
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/jni/linux
)
# set the static lib name
ADD_LIBRARY
(
taos_static STATIC
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
taos_static common query trpc tutil pthread m
)
SET_TARGET_PROPERTIES
(
taos_static PROPERTIES OUTPUT_NAME
"taos_static"
)
SET_TARGET_PROPERTIES
(
taos_static PROPERTIES CLEAN_DIRECT_OUTPUT 1
)
# generate dynamic library (*.dylib)
ADD_LIBRARY
(
taos SHARED
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
taos common query trpc tutil pthread m
)
SET_TARGET_PROPERTIES
(
taos PROPERTIES CLEAN_DIRECT_OUTPUT 1
)
#set version of .dylib
#VERSION dylib version
#SOVERSION dylib version
#MESSAGE(STATUS "build version ${TD_VER_NUMBER}")
SET_TARGET_PROPERTIES
(
taos PROPERTIES VERSION
${
TD_VER_NUMBER
}
SOVERSION 1
)
ADD_SUBDIRECTORY
(
tests
)
ELSEIF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/jni/windows
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/jni/windows/win32
)
...
...
src/cq/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -10,7 +10,17 @@ IF (TD_LINUX)
ADD_LIBRARY
(
tcq
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
tcq tutil common taos_static
)
ELSE
()
ELSE
()
TARGET_LINK_LIBRARIES
(
tcq tutil common taos
)
ENDIF
()
ADD_SUBDIRECTORY
(
test
)
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
tcq
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
tcq tutil common taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
tcq tutil common taos
)
ENDIF
()
ADD_SUBDIRECTORY
(
test
)
...
...
src/dnode/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -23,7 +23,7 @@ IF (TD_LINUX)
IF
(
TD_ACCOUNT
)
TARGET_LINK_LIBRARIES
(
taosd account
)
ENDIF
()
IF
(
TD_GRANT
)
TARGET_LINK_LIBRARIES
(
taosd grant
)
ENDIF
()
...
...
@@ -47,3 +47,42 @@ IF (TD_LINUX)
COMMENT
"prepare taosd environment"
)
ADD_CUSTOM_TARGET
(
${
PREPARE_ENV_TARGET
}
ALL WORKING_DIRECTORY
${
TD_EXECUTABLE_OUTPUT_PATH
}
DEPENDS
${
PREPARE_ENV_CMD
}
)
ENDIF
()
IF
(
TD_DARWIN
)
ADD_EXECUTABLE
(
taosd
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
taosd mnode monitor http tsdb twal vnode cJson lz4 balance sync
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
taosd taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
taosd taos
)
ENDIF
()
IF
(
TD_ACCOUNT
)
TARGET_LINK_LIBRARIES
(
taosd account
)
ENDIF
()
IF
(
TD_GRANT
)
TARGET_LINK_LIBRARIES
(
taosd grant
)
ENDIF
()
IF
(
TD_MQTT
)
TARGET_LINK_LIBRARIES
(
taosd mqtt
)
ENDIF
()
# SET(PREPARE_ENV_CMD "prepare_env_cmd")
# SET(PREPARE_ENV_TARGET "prepare_env_target")
# ADD_CUSTOM_COMMAND(OUTPUT ${PREPARE_ENV_CMD}
# POST_BUILD
# COMMAND echo "make test directory"
# DEPENDS taosd
# COMMAND ${CMAKE_COMMAND} -E make_directory ${TD_TESTS_OUTPUT_DIR}/cfg/
# COMMAND ${CMAKE_COMMAND} -E make_directory ${TD_TESTS_OUTPUT_DIR}/log/
# COMMAND ${CMAKE_COMMAND} -E make_directory ${TD_TESTS_OUTPUT_DIR}/data/
# COMMAND ${CMAKE_COMMAND} -E echo dataDir ${TD_TESTS_OUTPUT_DIR}/data > ${TD_TESTS_OUTPUT_DIR}/cfg/taos.cfg
# COMMAND ${CMAKE_COMMAND} -E echo logDir ${TD_TESTS_OUTPUT_DIR}/log >> ${TD_TESTS_OUTPUT_DIR}/cfg/taos.cfg
# COMMAND ${CMAKE_COMMAND} -E echo charset UTF-8 >> ${TD_TESTS_OUTPUT_DIR}/cfg/taos.cfg
# COMMENT "prepare taosd environment")
# ADD_CUSTOM_TARGET(${PREPARE_ENV_TARGET} ALL WORKING_DIRECTORY ${TD_EXECUTABLE_OUTPUT_PATH} DEPENDS ${PREPARE_ENV_CMD})
ENDIF
()
src/dnode/src/dnodeSystem.c
浏览文件 @
0c96f765
...
...
@@ -160,7 +160,11 @@ static void signal_handler(int32_t signum, siginfo_t *sigInfo, void *context) {
syslog
(
LOG_INFO
,
"Shut down signal is %d"
,
signum
);
syslog
(
LOG_INFO
,
"Shutting down TDengine service..."
);
// clean the system.
#ifdef __APPLE__
dInfo
(
"shut down signal is %d, sender PID:%d"
,
signum
,
sigInfo
->
si_pid
);
#else // __APPLE__
dInfo
(
"shut down signal is %d, sender PID:%d cmdline:%s"
,
signum
,
sigInfo
->
si_pid
,
taosGetCmdlineByPID
(
sigInfo
->
si_pid
));
#endif
// protect the application from receive another signal
struct
sigaction
act
=
{{
0
}};
...
...
src/dnode/src/dnodeTelemetry.c
浏览文件 @
0c96f765
...
...
@@ -236,6 +236,13 @@ static void sendTelemetryReport() {
taosCloseSocket
(
fd
);
}
#ifdef __APPLE__
static
int
sem_timedwait
(
tsem_t
*
sem
,
struct
timespec
*
to
)
{
fprintf
(
stderr
,
"%s[%d]%s(): not implemented yet!
\n
"
,
basename
(
__FILE__
),
__LINE__
,
__func__
);
abort
();
}
#endif
static
void
*
telemetryThread
(
void
*
param
)
{
struct
timespec
end
=
{
0
};
clock_gettime
(
CLOCK_REALTIME
,
&
end
);
...
...
src/kit/shell/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -9,14 +9,14 @@ IF (TD_LINUX)
AUX_SOURCE_DIRECTORY
(
./src SRC
)
LIST
(
REMOVE_ITEM SRC ./src/shellWindows.c
)
LIST
(
REMOVE_ITEM SRC ./src/shellDarwin.c
)
ADD_EXECUTABLE
(
shell
${
SRC
}
)
ADD_EXECUTABLE
(
shell
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
shell taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
shell taos
)
ENDIF
()
SET_TARGET_PROPERTIES
(
shell PROPERTIES OUTPUT_NAME taos
)
ELSEIF
(
TD_WINDOWS
)
LIST
(
APPEND SRC ./src/shellEngine.c
)
...
...
@@ -27,7 +27,7 @@ ELSEIF (TD_WINDOWS)
IF
(
TD_POWER
)
SET_TARGET_PROPERTIES
(
shell PROPERTIES OUTPUT_NAME power
)
ELSE
()
ELSE
()
SET_TARGET_PROPERTIES
(
shell PROPERTIES OUTPUT_NAME taos
)
ENDIF
()
ELSEIF
(
TD_DARWIN
)
...
...
@@ -37,7 +37,10 @@ ELSEIF (TD_DARWIN)
LIST
(
APPEND SRC ./src/shellCommand.c
)
LIST
(
APPEND SRC ./src/shellImport.c
)
ADD_EXECUTABLE
(
shell
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
shell taos_static
)
# linking with dylib
TARGET_LINK_LIBRARIES
(
shell taos
)
# linking taos statically
# TARGET_LINK_LIBRARIES(shell taos_static)
SET_TARGET_PROPERTIES
(
shell PROPERTIES OUTPUT_NAME taos
)
ENDIF
()
src/kit/taosdemo/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -7,7 +7,7 @@ INCLUDE_DIRECTORIES(inc)
IF
(
TD_LINUX
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
ADD_EXECUTABLE
(
taosdemo
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
taosdemo taos_static
)
ELSE
()
...
...
@@ -17,4 +17,13 @@ ELSEIF (TD_WINDOWS)
AUX_SOURCE_DIRECTORY
(
. SRC
)
ADD_EXECUTABLE
(
taosdemo
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
taosdemo taos_static
)
ELSEIF
(
TD_DARWIN
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
ADD_EXECUTABLE
(
taosdemo
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
taosdemo taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
taosdemo taos
)
ENDIF
()
ENDIF
()
src/kit/taosdemox/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -4,22 +4,44 @@ PROJECT(TDengine)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/client/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/libcurl/include
)
IF
(
TD_LINUX
)
IF
(
TD_LINUX
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
ADD_EXECUTABLE
(
taosdemox
${
SRC
}
)
#find_program(HAVE_CURL NAMES curl)
IF
((
NOT TD_ARM_64
)
AND
(
NOT TD_ARM_32
))
#find_program(HAVE_CURL NAMES curl)
IF
((
NOT TD_ARM_64
)
AND
(
NOT TD_ARM_32
))
ADD_DEFINITIONS
(
-DTD_LOWA_CURL
)
LINK_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/libcurl/lib
)
ADD_LIBRARY
(
curl STATIC IMPORTED
)
SET_PROPERTY
(
TARGET curl PROPERTY IMPORTED_LOCATION
${
TD_COMMUNITY_DIR
}
/deps/libcurl/lib/libcurl.a
)
TARGET_LINK_LIBRARIES
(
taosdemox curl
)
TARGET_LINK_LIBRARIES
(
taosdemox curl
)
ENDIF
()
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
taosdemox taos_static cJson
)
ELSE
()
TARGET_LINK_LIBRARIES
(
taosdemox taos cJson
)
ENDIF
()
ENDIF
()
IF
(
TD_DARWIN
)
# missing a few dependencies, such as <argp.h>
# AUX_SOURCE_DIRECTORY(. SRC)
# ADD_EXECUTABLE(taosdemox ${SRC})
#
# #find_program(HAVE_CURL NAMES curl)
# IF ((NOT TD_ARM_64) AND (NOT TD_ARM_32))
# ADD_DEFINITIONS(-DTD_LOWA_CURL)
# LINK_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/libcurl/lib)
# ADD_LIBRARY(curl STATIC IMPORTED)
# SET_PROPERTY(TARGET curl PROPERTY IMPORTED_LOCATION ${TD_COMMUNITY_DIR}/deps/libcurl/lib/libcurl.a)
# TARGET_LINK_LIBRARIES(taosdemox curl)
# ENDIF ()
#
# IF (TD_SOMODE_STATIC)
# TARGET_LINK_LIBRARIES(taosdemox taos_static cJson)
# ELSE ()
# TARGET_LINK_LIBRARIES(taosdemox taos cJson)
# ENDIF ()
ENDIF
()
src/kit/taosdump/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -12,5 +12,15 @@ IF (TD_LINUX)
TARGET_LINK_LIBRARIES
(
taosdump taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
taosdump taos
)
ENDIF
()
ENDIF
()
ENDIF
()
IF
(
TD_DARWIN
)
# missing <argp.h> for macosx
# ADD_EXECUTABLE(taosdump ${SRC})
# IF (TD_SOMODE_STATIC)
# TARGET_LINK_LIBRARIES(taosdump taos_static)
# ELSE ()
# TARGET_LINK_LIBRARIES(taosdump taos)
# ENDIF ()
ENDIF
()
src/mnode/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -9,4 +9,15 @@ IF (TD_LINUX)
AUX_SOURCE_DIRECTORY
(
src SRC
)
ADD_LIBRARY
(
mnode
${
SRC
}
)
ENDIF
()
\ No newline at end of file
ENDIF
()
IF
(
TD_DARWIN
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/query/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/dnode/inc
)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
src SRC
)
ADD_LIBRARY
(
mnode
${
SRC
}
)
ENDIF
()
src/mnode/src/mnodeCluster.c
浏览文件 @
0c96f765
...
...
@@ -138,6 +138,13 @@ void mnodeDecClusterRef(SClusterObj *pCluster) {
sdbDecRef
(
tsClusterSdb
,
pCluster
);
}
#ifdef __APPLE__
bool
taosGetSystemUid
(
char
*
uid
)
{
fprintf
(
stderr
,
"%s[%d]%s(): not implemented yet!
\n
"
,
basename
(
__FILE__
),
__LINE__
,
__func__
);
abort
();
return
false
;
}
#endif // __APPLE__
static
int32_t
mnodeCreateCluster
()
{
int32_t
numOfClusters
=
sdbGetNumOfRows
(
tsClusterSdb
);
if
(
numOfClusters
!=
0
)
return
TSDB_CODE_SUCCESS
;
...
...
src/os/src/darwin/eok.c
浏览文件 @
0c96f765
...
...
@@ -103,9 +103,9 @@ struct eok_event_s {
typedef
struct
eoks_s
eoks_t
;
struct
eoks_s
{
pthread_mutex_t
lock
;
ep_over_kq_t
*
eoks
;
int
neoks
;
ep_over_kq_t
*
eoks_free
;
ep_over_kq_t
**
eoks
;
// note: this memory leaks when process terminates
int
neoks
;
// we can add an extra api to let user clean
ep_over_kq_t
*
eoks_free
;
// currently, we just keep it simple stupid
};
static
eoks_t
eoks
=
{
...
...
@@ -297,7 +297,7 @@ int epoll_create(int size) {
struct
epoll_event
ev
=
{
0
};
ev
.
events
=
EPOLLIN
;
ev
.
data
.
ptr
=
&
eok_dummy
;
D
(
"epoll_create epfd:[%d]
"
,
eok
->
idx
);
D
(
"epoll_create epfd:[%d]
and sv0[%d]"
,
eok
->
idx
,
eok
->
sv
[
0
]
);
if
(
epoll_ctl
(
eok
->
idx
,
EPOLL_CTL_ADD
,
eok
->
sv
[
0
],
&
ev
))
{
e
=
errno
;
epoll_close
(
eok
->
idx
);
...
...
@@ -517,8 +517,8 @@ int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
eok_event_t
*
ev
=
(
eok_event_t
*
)
kev
->
udata
;
A
(
kev
->
ident
==
ev
->
fd
,
"internal logic error"
);
if
(
kev
->
flags
&
EV_ERROR
)
{
D
(
"error when processing change list for fd[%d], error[%s], kev_flags:[%04x:%s]"
,
ev
->
fd
,
strerror
(
kev
->
data
),
kev
->
flags
,
kev_flags_str
(
kev
->
flags
,
0
));
D
(
"e
pfd[%d] e
rror when processing change list for fd[%d], error[%s], kev_flags:[%04x:%s]"
,
e
pfd
,
e
v
->
fd
,
strerror
(
kev
->
data
),
kev
->
flags
,
kev_flags_str
(
kev
->
flags
,
0
));
}
switch
(
kev
->
filter
)
{
case
EVFILT_READ
:
{
...
...
@@ -528,11 +528,11 @@ int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
char
c
=
'\0'
;
A
(
1
==
recv
(
kev
->
ident
,
&
c
,
1
,
0
),
"internal logic error"
);
A
(
0
==
memcmp
(
&
c
,
"1"
,
1
),
"internal logic error"
);
D
(
"
wokenup"
);
D
(
"
epfd[%d] wokenup"
,
epfd
);
continue
;
}
else
{
if
(
ev
->
changed
==
3
)
{
D
(
"
already requested to delete for fd[%d]"
,
ev
->
fd
);
D
(
"
epfd[%d] already requested to delete for fd[%d]"
,
epfd
,
ev
->
fd
);
// TODO: write a unit test for this case
// EV_DELETE?
continue
;
...
...
@@ -550,7 +550,8 @@ int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
}
// rounded to what user care
pev
.
events
=
pev
.
events
&
ev
->
epev
.
events
;
D
(
"events found for fd[%d]: [%04x:%s], which was registered: [%04x:%s], kev_flags: [%04x:%s]"
,
D
(
"epfd[%d] events found for fd[%d]: [%04x:%s], which was registered: [%04x:%s], kev_flags: [%04x:%s]"
,
epfd
,
ev
->
fd
,
pev
.
events
,
events_str
(
pev
.
events
,
0
),
ev
->
epev
.
events
,
events_str
(
ev
->
epev
.
events
,
1
),
kev
->
flags
,
kev_flags_str
(
kev
->
flags
,
2
));
...
...
@@ -573,7 +574,7 @@ int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
while
(
p
)
{
eok_event_t
*
next
=
p
->
next
;
if
(
p
->
changed
==
3
)
{
D
(
"
removing registered event for fd[%d]: [%04x:%s]"
,
p
->
fd
,
p
->
epev
.
events
,
events_str
(
p
->
epev
.
events
,
0
));
D
(
"
epfd[%d] removing registered event for fd[%d]: [%04x:%s]"
,
epfd
,
p
->
fd
,
p
->
epev
.
events
,
events_str
(
p
->
epev
.
events
,
0
));
eok_free_ev
(
eok
,
p
);
}
p
=
next
;
...
...
@@ -591,13 +592,13 @@ int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
}
}
while
(
cnts
==
0
);
if
(
cnts
>
0
)
{
D
(
"kevent64
waiting done with [%d] events"
,
cnts
);
D
(
"kevent64
epfd[%d] waiting done with [%d] events"
,
epfd
,
cnts
);
}
A
(
0
==
pthread_mutex_unlock
(
&
eok
->
lock
),
""
);
if
(
e
)
{
errno
=
e
;
E
(
"ep
oll_wait failed"
);
E
(
"ep
fd[%d] epoll_wait failed"
,
epfd
);
return
-
1
;
}
...
...
@@ -752,7 +753,7 @@ static int eok_chgs_refresh(ep_over_kq_t *eok, eok_event_t *oev, eok_event_t *ev
eok
->
kchanges
[
eok
->
ichanges
++
]
=
*
kwev
;
++
n
;
}
D
(
"
add #changes[%d] for fd[%d], and now #changes/registers [%d/%d]"
,
n
,
ev
->
fd
,
eok
->
ichanges
,
eok
->
evs_count
);
D
(
"
epfd[%d]: add #changes[%d] for fd[%d], and now #changes/registers [%d/%d]"
,
eok
->
idx
,
n
,
ev
->
fd
,
eok
->
ichanges
,
eok
->
evs_count
);
return
0
;
}
...
...
@@ -764,14 +765,21 @@ static ep_over_kq_t* eoks_alloc(void) {
if
(
eoks
.
eoks_free
)
{
eok
=
eoks
.
eoks_free
;
eoks
.
eoks_free
=
eok
->
next
;
A
(
eoks
.
eoks
,
"internal logic error"
);
A
(
eok
->
idx
>=
0
&&
eok
->
idx
<
eoks
.
neoks
,
"internal logic error"
);
A
(
*
(
eoks
.
eoks
+
eok
->
idx
)
==
NULL
,
"internal logic error"
);
*
(
eoks
.
eoks
+
eok
->
idx
)
=
eok
;
eok
->
next
=
NULL
;
eok
->
stopping
=
0
;
break
;
}
ep_over_kq_t
*
p
=
(
ep_over_kq_t
*
)
realloc
(
eoks
.
eoks
,
sizeof
(
*
p
)
*
(
eoks
.
neoks
+
1
));
if
(
!
p
)
break
;
eoks
.
eoks
=
p
;
eok
=
eoks
.
eoks
+
eoks
.
neoks
;
memset
(
eok
,
0
,
sizeof
(
*
eok
));
eok
=
(
ep_over_kq_t
*
)
calloc
(
1
,
sizeof
(
*
eok
));
if
(
!
eok
)
break
;
eok
->
idx
=
-
1
;
ep_over_kq_t
**
ar
=
(
ep_over_kq_t
**
)
realloc
(
eoks
.
eoks
,
sizeof
(
**
ar
)
*
(
eoks
.
neoks
+
1
));
if
(
!
ar
)
break
;
eoks
.
eoks
=
ar
;
*
(
eoks
.
eoks
+
eoks
.
neoks
)
=
eok
;
eok
->
idx
=
eoks
.
neoks
;
eok
->
kq
=
-
1
;
eok
->
sv
[
0
]
=
-
1
;
...
...
@@ -784,6 +792,11 @@ static ep_over_kq_t* eoks_alloc(void) {
errno
=
ENOMEM
;
return
NULL
;
}
if
(
eok
->
idx
==-
1
)
{
free
(
eok
);
errno
=
ENOMEM
;
return
NULL
;
}
if
(
eok
->
lock_valid
)
{
return
eok
;
}
...
...
@@ -801,23 +814,50 @@ static ep_over_kq_t* eoks_alloc(void) {
static
void
eoks_free
(
ep_over_kq_t
*
eok
)
{
A
(
0
==
pthread_mutex_lock
(
&
eoks
.
lock
),
""
);
do
{
A
(
eok
->
idx
>=
0
&&
eok
->
idx
<
eoks
.
neoks
,
"internal logic error"
);
A
(
eok
->
next
==
NULL
,
"internal logic error"
);
// leave eok->kchanges as is
A
(
eok
->
ichanges
==
0
,
"internal logic error"
);
A
(
eok
->
waiting
==
0
,
"internal logic error"
);
if
(
eok
->
evs_count
==
1
)
{
A
(
eok
->
evs_head
&&
eok
->
evs_tail
&&
eok
->
evs_head
==
eok
->
evs_tail
,
"internal logic error"
);
A
(
eok
->
evs_head
->
fd
==
eok
->
sv
[
0
]
&&
eok
->
sv
[
0
]
!=-
1
&&
eok
->
sv
[
1
]
!=-
1
,
"internal logic error"
);
// fd is critical system resource
close
(
eok
->
sv
[
0
]);
eok
->
sv
[
0
]
=
-
1
;
close
(
eok
->
sv
[
1
]);
eok
->
sv
[
1
]
=
-
1
;
eok_free_ev
(
eok
,
eok
->
evs_head
);
eok_event_t
*
ev
=
eok
->
evs_head
;
while
(
ev
)
{
eok_event_t
*
next
=
ev
->
next
;
if
(
ev
->
fd
==
eok
->
sv
[
0
])
{
// fd is critical system resource
close
(
eok
->
sv
[
0
]);
eok
->
sv
[
0
]
=
-
1
;
close
(
eok
->
sv
[
1
]);
eok
->
sv
[
1
]
=
-
1
;
eok_free_ev
(
eok
,
ev
);
}
else
{
// user forget calling epoll_ctl(EPOLL_CTL_DEL) before calling epoll_close/close?
// calling close(ev->fd) here smells really bad
#ifdef LET_IT_BE
// we just let it be and reclaim ev
eok_free_ev
(
eok
,
ev
);
#else
// panic otherwise, if LET_IT_BE not defined
A
(
eok
->
evs_head
==
NULL
&&
eok
->
evs_tail
==
NULL
&&
eok
->
evs_count
==
0
,
"epfd[%d] fd[%d]: internal logic error: have you epoll_ctl(EPOLL_CTL_DEL) everything before calling epoll_close?"
,
eok
->
idx
,
ev
->
fd
);
#endif
}
ev
=
next
;
}
A
(
eok
->
evs_head
==
NULL
&&
eok
->
evs_tail
==
NULL
&&
eok
->
evs_count
==
0
,
"internal logic error"
);
// if (eok->evs_count==1) {
// A(eok->evs_head && eok->evs_tail && eok->evs_head==eok->evs_tail, "internal logic error");
// A(eok->evs_head->fd==eok->sv[0] && eok->sv[0]!=-1 && eok->sv[1]!=-1, "internal logic error");
// // fd is critical system resource
// close(eok->sv[0]);
// eok->sv[0] = -1;
// close(eok->sv[1]);
// eok->sv[1] = -1;
// eok_free_ev(eok, eok->evs_head);
// }
A
(
eok
->
evs_head
==
NULL
&&
eok
->
evs_tail
==
NULL
&&
eok
->
evs_count
==
0
,
"internal logic error: have you epoll_ctl(EPOLL_CTL_DEL) everything before calling epoll_close?"
);
A
(
eok
->
sv
[
0
]
==-
1
&&
eok
->
sv
[
1
]
==-
1
,
"internal logic error"
);
if
(
eok
->
kq
!=-
1
)
{
close
(
eok
->
kq
);
...
...
@@ -825,6 +865,7 @@ static void eoks_free(ep_over_kq_t *eok) {
}
eok
->
next
=
eoks
.
eoks_free
;
eoks
.
eoks_free
=
eok
;
*
(
eoks
.
eoks
+
eok
->
idx
)
=
NULL
;
}
while
(
0
);
A
(
0
==
pthread_mutex_unlock
(
&
eoks
.
lock
),
""
);
}
...
...
@@ -837,7 +878,7 @@ static ep_over_kq_t* eoks_find(int epfd) {
break
;
}
A
(
eoks
.
eoks
,
"internal logic error"
);
eok
=
eoks
.
eoks
+
epfd
;
eok
=
*
(
eoks
.
eoks
+
epfd
)
;
A
(
eok
->
next
==
NULL
,
"internal logic error"
);
A
(
eok
->
lock_valid
,
"internal logic error"
);
}
while
(
0
);
...
...
src/os/src/detail/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -13,3 +13,4 @@ TARGET_LINK_LIBRARIES(osdetail os)
IF
(
TD_ARM_32 OR TD_LINUX_32
)
TARGET_LINK_LIBRARIES
(
osdetail atomic
)
ENDIF
()
src/plugins/http/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -8,14 +8,29 @@ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/query/inc
)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
src SRC
)
IF
(
TD_LINUX
)
ADD_LIBRARY
(
http
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
http z
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
http taos_static
)
ELSE
()
ELSE
()
TARGET_LINK_LIBRARIES
(
http taos
)
ENDIF
()
IF
(
TD_ADMIN
)
TARGET_LINK_LIBRARIES
(
http admin
)
ENDIF
()
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
http
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
http z
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
http taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
http taos
)
ENDIF
()
...
...
src/plugins/http/src/httpServer.c
浏览文件 @
0c96f765
...
...
@@ -31,11 +31,36 @@
static
bool
httpReadData
(
HttpContext
*
pContext
);
#ifdef __APPLE__
static
int
sv_dummy
=
0
;
#endif
static
void
httpStopThread
(
HttpThread
*
pThread
)
{
pThread
->
stop
=
true
;
// signal the thread to stop, try graceful method first,
// and use pthread_cancel when failed
#ifdef __APPLE__
int
sv
[
2
];
sv
[
0
]
=
sv
[
1
]
=
-
1
;
int
r
=
socketpair
(
PF_LOCAL
,
SOCK_STREAM
,
0
,
sv
);
do
{
if
(
r
)
break
;
struct
epoll_event
ev
=
{
0
};
ev
.
events
=
EPOLLIN
;
ev
.
data
.
ptr
=
&
sv_dummy
;
pThread
->
stop
=
true
;
r
=
epoll_ctl
(
pThread
->
pollFd
,
EPOLL_CTL_ADD
,
sv
[
0
],
&
ev
);
if
(
r
)
break
;
if
(
1
!=
send
(
sv
[
1
],
"1"
,
1
,
0
))
{
r
=
-
1
;
break
;
}
}
while
(
0
);
if
(
r
)
{
pthread_cancel
(
pThread
->
thread
);
}
#else // __APPLE__
struct
epoll_event
event
=
{
.
events
=
EPOLLIN
};
eventfd_t
fd
=
eventfd
(
1
,
0
);
if
(
fd
==
-
1
)
{
...
...
@@ -46,11 +71,23 @@ static void httpStopThread(HttpThread* pThread) {
httpError
(
"%s, failed to call epoll_ctl, will call pthread_cancel instead, which may result in data corruption: %s"
,
pThread
->
label
,
strerror
(
errno
));
pthread_cancel
(
pThread
->
thread
);
}
#endif // __APPLE__
pthread_join
(
pThread
->
thread
,
NULL
);
#ifdef __APPLE__
if
(
sv
[
0
]
!=-
1
)
{
close
(
sv
[
0
]);
sv
[
0
]
=
-
1
;
}
if
(
sv
[
1
]
!=-
1
)
{
close
(
sv
[
1
]);
sv
[
1
]
=
-
1
;
}
#else // __APPLE__
if
(
fd
!=
-
1
)
{
close
(
fd
);
}
#endif // __APPLE__
#ifdef __APPLE__
epoll_close
(
pThread
->
pollFd
);
...
...
@@ -97,6 +134,15 @@ static void httpProcessHttpData(void *param) {
if
(
fdNum
<=
0
)
continue
;
for
(
int32_t
i
=
0
;
i
<
fdNum
;
++
i
)
{
#ifdef __APPLE__
if
(
events
[
i
].
data
.
ptr
==
&
sv_dummy
)
{
// no need to drain the recv buffer of sv[0]
// since there's only one time to send at most 1 byte to sv[0]
// btw, pThread->stop shall be already set, thus never reached here
httpDebug
(
"if you see this line, there's internal logic error"
);
continue
;
}
#endif // __APPLE__
pContext
=
httpGetContext
(
events
[
i
].
data
.
ptr
);
if
(
pContext
==
NULL
)
{
httpError
(
"context:%p, is already released, close connect"
,
events
[
i
].
data
.
ptr
);
...
...
src/plugins/monitor/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -8,10 +8,20 @@ AUX_SOURCE_DIRECTORY(./src SRC)
IF
(
TD_LINUX
)
ADD_LIBRARY
(
monitor
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
monitor taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
monitor taos
)
ENDIF
()
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
monitor
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
monitor taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
monitor taos
)
ENDIF
()
ENDIF
()
ENDIF
()
src/plugins/mqtt/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -18,3 +18,15 @@ IF (TD_LINUX)
TARGET_LINK_LIBRARIES
(
mqtt taos
)
ENDIF
()
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
mqtt
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
mqtt cJson mqttc
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
mqtt taos_static
)
ELSE
()
TARGET_LINK_LIBRARIES
(
mqtt taos
)
ENDIF
()
ENDIF
()
src/query/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -14,3 +14,8 @@ IF (TD_LINUX)
TARGET_LINK_LIBRARIES
(
query m rt
)
ADD_SUBDIRECTORY
(
tests
)
ENDIF
()
IF
(
TD_DARWIN
)
TARGET_LINK_LIBRARIES
(
query m
)
ADD_SUBDIRECTORY
(
tests
)
ENDIF
()
src/rpc/src/rpcTcp.c
浏览文件 @
0c96f765
...
...
@@ -308,7 +308,10 @@ void *taosInitTcpClient(uint32_t ip, uint16_t port, char *label, int num, void *
pthread_attr_destroy
(
&
thattr
);
if
(
code
!=
0
)
{
#ifdef __APPLE__
epoll_close
(
pThreadObj
->
pollFd
);
if
(
pThreadObj
->
pollFd
!=-
1
)
{
epoll_close
(
pThreadObj
->
pollFd
);
pThreadObj
->
pollFd
=
-
1
;
}
#else
taosCloseSocket
(
pThreadObj
->
pollFd
);
#endif
...
...
@@ -517,7 +520,10 @@ static void *taosProcessTcpData(void *param) {
}
#ifdef __APPLE__
if
(
pThreadObj
->
pollFd
>=
0
)
epoll_close
(
pThreadObj
->
pollFd
);
if
(
pThreadObj
->
pollFd
>=
0
)
{
epoll_close
(
pThreadObj
->
pollFd
);
pThreadObj
->
pollFd
=
-
1
;
}
#else
if
(
pThreadObj
->
pollFd
>=
0
)
taosCloseSocket
(
pThreadObj
->
pollFd
);
#endif
...
...
src/rpc/test/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -16,3 +16,17 @@ IF (TD_LINUX)
ADD_EXECUTABLE
(
rserver
${
SERVER_SRC
}
)
TARGET_LINK_LIBRARIES
(
rserver trpc
)
ENDIF
()
IF
(
TD_DARWIN
)
LIST
(
APPEND CLIENT_SRC ./rclient.c
)
ADD_EXECUTABLE
(
rclient
${
CLIENT_SRC
}
)
TARGET_LINK_LIBRARIES
(
rclient trpc
)
LIST
(
APPEND SCLIENT_SRC ./rsclient.c
)
ADD_EXECUTABLE
(
rsclient
${
SCLIENT_SRC
}
)
TARGET_LINK_LIBRARIES
(
rsclient trpc
)
LIST
(
APPEND SERVER_SRC ./rserver.c
)
ADD_EXECUTABLE
(
rserver
${
SERVER_SRC
}
)
TARGET_LINK_LIBRARIES
(
rserver trpc
)
ENDIF
()
src/sync/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -3,7 +3,7 @@ PROJECT(TDengine)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
src SRC
)
IF
(
TD_LINUX
)
LIST
(
REMOVE_ITEM SRC src/syncArbitrator.c
)
ADD_LIBRARY
(
sync
${
SRC
}
)
...
...
@@ -16,3 +16,16 @@ IF (TD_LINUX)
#ADD_SUBDIRECTORY(test)
ENDIF
()
IF
(
TD_DARWIN
)
LIST
(
REMOVE_ITEM SRC src/syncArbitrator.c
)
ADD_LIBRARY
(
sync
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
sync tutil pthread common
)
LIST
(
APPEND BIN_SRC src/syncArbitrator.c
)
LIST
(
APPEND BIN_SRC src/syncTcp.c
)
ADD_EXECUTABLE
(
tarbitrator
${
BIN_SRC
}
)
TARGET_LINK_LIBRARIES
(
tarbitrator sync common osdetail tutil
)
#ADD_SUBDIRECTORY(test)
ENDIF
()
src/sync/src/syncRetrieve.c
浏览文件 @
0c96f765
...
...
@@ -14,7 +14,7 @@
*/
#define _DEFAULT_SOURCE
#include <sys/inotify.h>
//
#include <sys/inotify.h>
#include "os.h"
#include "taoserror.h"
#include "tlog.h"
...
...
src/sync/test/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -13,4 +13,3 @@ IF (TD_LINUX)
TARGET_LINK_LIBRARIES
(
syncServer sync trpc common
)
ENDIF
()
src/util/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -5,7 +5,7 @@ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/rpc/inc)
AUX_SOURCE_DIRECTORY
(
src SRC
)
ADD_LIBRARY
(
tutil
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
tutil pthread osdetail lz4 z
)
IF
(
TD_LINUX
)
TARGET_LINK_LIBRARIES
(
tutil m rt
)
# ADD_SUBDIRECTORY(tests)
...
...
@@ -28,5 +28,6 @@ IF (TD_LINUX)
ELSEIF
(
TD_WINDOWS
)
TARGET_LINK_LIBRARIES
(
tutil iconv regex winmm IPHLPAPI ws2_32 wepoll
)
ELSEIF
(
TD_DARWIN
)
TARGET_LINK_LIBRARIES
(
tutil m
)
TARGET_LINK_LIBRARIES
(
tutil iconv
)
ENDIF
()
src/vnode/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -13,3 +13,9 @@ IF (TD_LINUX)
ADD_LIBRARY
(
vnode
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
vnode tsdb tcq
)
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
vnode
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
vnode tsdb tcq
)
ENDIF
()
src/wal/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -8,4 +8,10 @@ IF (TD_LINUX)
ADD_LIBRARY
(
twal
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
twal tutil common
)
ADD_SUBDIRECTORY
(
test
)
ENDIF
()
ENDIF
()
IF
(
TD_DARWIN
)
ADD_LIBRARY
(
twal
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
twal tutil common
)
ADD_SUBDIRECTORY
(
test
)
ENDIF
()
src/wal/test/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -10,4 +10,12 @@ IF (TD_LINUX)
ENDIF
()
IF
(
TD_DARWIN
)
INCLUDE_DIRECTORIES
(
../inc
)
LIST
(
APPEND WALTEST_SRC ./waltest.c
)
ADD_EXECUTABLE
(
waltest
${
WALTEST_SRC
}
)
TARGET_LINK_LIBRARIES
(
waltest twal osdetail tutil
)
ENDIF
()
tests/comparisonTest/tdengine/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -5,3 +5,8 @@ IF (TD_LINUX)
add_executable
(
tdengineTest tdengineTest.c
)
target_link_libraries
(
tdengineTest taos_static tutil common pthread
)
ENDIF
()
IF
(
TD_DARWIN
)
add_executable
(
tdengineTest tdengineTest.c
)
target_link_libraries
(
tdengineTest taos_static tutil common pthread
)
ENDIF
()
tests/examples/c/CMakeLists.txt
浏览文件 @
0c96f765
...
...
@@ -10,6 +10,9 @@ IF (TD_LINUX)
ENDIF
()
IF
(
TD_DARWIN
)
INCLUDE_DIRECTORIES
(
.
${
TD_COMMUNITY_DIR
}
/src/inc
${
TD_COMMUNITY_DIR
}
/src/client/inc
${
TD_COMMUNITY_DIR
}
/inc
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
ADD_EXECUTABLE
(
demo demo.c
)
TARGET_LINK_LIBRARIES
(
demo taos_static trpc tutil pthread
)
ADD_EXECUTABLE
(
epoll epoll.c
)
TARGET_LINK_LIBRARIES
(
epoll taos_static trpc tutil pthread
)
ENDIF
()
tests/examples/c/demo.c
浏览文件 @
0c96f765
...
...
@@ -86,7 +86,7 @@ void Test(TAOS *taos, char *qstr, int index) {
int
i
=
0
;
for
(
i
=
0
;
i
<
10
;
++
i
)
{
sprintf
(
qstr
,
"insert into m1 values (%"
PRId64
", %d, %d, %d, %d, %f, %lf, '%s')"
,
1546300800000
+
i
*
1000
,
i
,
i
,
i
,
i
*
10000000
,
i
*
1
.
0
,
i
*
2
.
0
,
"hello"
);
sprintf
(
qstr
,
"insert into m1 values (%"
PRId64
", %d, %d, %d, %d, %f, %lf, '%s')"
,
1546300800000
LL
+
i
*
1000
,
i
,
i
,
i
,
i
*
10000000
,
i
*
1
.
0
,
i
*
2
.
0
,
"hello"
);
printf
(
"qstr: %s
\n
"
,
qstr
);
// note: how do you wanna do if taos_query returns non-NULL
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录