Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
hanoi2005
redis
提交
d76412d1
R
redis
项目概览
hanoi2005
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d76412d1
编写于
6月 07, 2009
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
some minor changes to the backtrace code
上级
e65fdc78
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
11 deletion
+13
-11
config.h
config.h
+7
-2
redis.c
redis.c
+6
-9
未找到文件。
config.h
浏览文件 @
d76412d1
#ifndef __CONFIG_H
#define __CONFIG_H
/* malloc_size() */
/*
test for
malloc_size() */
#ifdef __APPLE__
#include <malloc/malloc.h>
#define HAVE_MALLOC_SIZE
#define HAVE_MALLOC_SIZE
1
#define redis_malloc_size(p) malloc_size(p)
#endif
...
...
@@ -17,4 +17,9 @@
#define redis_stat stat
#endif
/* test for backtrace() */
#if defined(__APPLE__) || defined(__linux__)
#define HAVE_BACKTRACE 1
#endif
#endif
redis.c
浏览文件 @
d76412d1
...
...
@@ -330,7 +330,6 @@ static int setExpire(redisDb *db, robj *key, time_t when);
static
void
updateSalvesWaitingBgsave
(
int
bgsaveerr
);
static
void
freeMemoryIfNeeded
(
void
);
static
int
processCommand
(
redisClient
*
c
);
static
void
segvHandler
(
int
sig
,
siginfo_t
*
info
,
void
*
secret
);
static
void
setupSigSegvAction
(
void
);
static
void
authCommand
(
redisClient
*
c
);
...
...
@@ -4108,7 +4107,7 @@ static void debugCommand(redisClient *c) {
}
}
#if
defined(__APPLE__) || defined(__linux__)
#if
def HAVE_BACKTRACE
static
struct
redisFunctionSym
symsTable
[]
=
{
{
"freeStringObject"
,
(
unsigned
long
)
freeStringObject
},
{
"freeListObject"
,
(
unsigned
long
)
freeListObject
},
...
...
@@ -4192,7 +4191,6 @@ static struct redisFunctionSym symsTable[] = {
{
"debugCommand"
,
(
unsigned
long
)
debugCommand
},
{
"processCommand"
,
(
unsigned
long
)
processCommand
},
{
"setupSigSegvAction"
,
(
unsigned
long
)
setupSigSegvAction
},
{
"segvHandler"
,
(
unsigned
long
)
segvHandler
},
{
"readQueryFromClient"
,
(
unsigned
long
)
readQueryFromClient
},
{
NULL
,
0
}
};
...
...
@@ -4274,7 +4272,7 @@ static void segvHandler(int sig, siginfo_t *info, void *secret) {
trace
[
1
]
=
getMcontextEip
(
uc
);
messages
=
backtrace_symbols
(
trace
,
trace_size
);
for
(
i
=
0
;
i
<
trace_size
;
++
i
)
{
for
(
i
=
1
;
i
<
trace_size
;
++
i
)
{
char
*
fn
=
findFuncName
(
trace
[
i
],
&
offset
),
*
p
;
p
=
strchr
(
messages
[
i
],
'+'
);
...
...
@@ -4289,7 +4287,6 @@ static void segvHandler(int sig, siginfo_t *info, void *secret) {
}
static
void
setupSigSegvAction
(
void
)
{
#if defined(__APPLE__) || defined(__linux__)
struct
sigaction
act
;
sigemptyset
(
&
act
.
sa_mask
);
...
...
@@ -4299,12 +4296,12 @@ static void setupSigSegvAction(void) {
act
.
sa_sigaction
=
segvHandler
;
sigaction
(
SIGSEGV
,
&
act
,
NULL
);
sigaction
(
SIGBUS
,
&
act
,
NULL
);
#else
return
;
#endif
}
#endif
/* if __APPLE__ or __linux__ */
#else
/* HAVE_BACKTRACE */
static
void
setupSigSegvAction
(
void
)
{
}
#endif
/* HAVE_BACKTRACE */
/* =================================== Main! ================================ */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录