Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
阿啄debugIT
libfastcommon
提交
8b9bdfd3
L
libfastcommon
项目概览
阿啄debugIT
/
libfastcommon
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libfastcommon
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8b9bdfd3
编写于
5月 15, 2015
作者:
Y
yuqing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
logger.c call log_check_rotate in lock
上级
62f94164
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
37 deletion
+20
-37
HISTORY
HISTORY
+2
-1
src/logger.c
src/logger.c
+15
-36
src/logger.h
src/logger.h
+3
-0
未找到文件。
HISTORY
浏览文件 @
8b9bdfd3
Version 1.14 2015-05-1
2
Version 1.14 2015-05-1
5
* fast_task_info support set_buffer_size and realloc_buffer
* use file lock when write logger header
* bugfixed: sockopt.c correct fsbytes to sbytes in FreeBSD
* macro FDFS_WRITE_BUFF_SIZE change to FAST_WRITE_BUFF_SIZE
* logger.c call log_check_rotate in lock
Version 1.13 2015-02-27
* support php extension
...
...
src/logger.c
浏览文件 @
8b9bdfd3
...
...
@@ -542,10 +542,8 @@ int log_rotate(LogContext *pContext)
return
log_open
(
pContext
);
}
static
int
log_check_rotate
(
LogContext
*
pContext
,
const
bool
bNeedLock
)
static
int
log_check_rotate
(
LogContext
*
pContext
)
{
int
result
;
if
(
pContext
->
log_fd
==
STDERR_FILENO
)
{
if
(
pContext
->
current_size
>
0
)
...
...
@@ -555,27 +553,13 @@ static int log_check_rotate(LogContext *pContext, const bool bNeedLock)
return
ENOENT
;
}
if
(
bNeedLock
)
{
pthread_mutex_lock
(
&
(
pContext
->
log_thread_lock
));
}
if
(
pContext
->
rotate_immediately
)
{
result
=
log_rotate
(
pContext
);
pContext
->
rotate_immediately
=
false
;
}
else
{
result
=
0
;
}
if
(
bNeedLock
)
{
pthread_mutex_unlock
(
&
(
pContext
->
log_thread_lock
));
return
log_rotate
(
pContext
);
}
return
result
;
return
0
;
}
static
int
log_fsync
(
LogContext
*
pContext
,
const
bool
bNeedLock
)
...
...
@@ -593,7 +577,16 @@ static int log_fsync(LogContext *pContext, const bool bNeedLock)
}
else
{
return
log_check_rotate
(
pContext
,
bNeedLock
);
if
(
bNeedLock
)
{
pthread_mutex_lock
(
&
(
pContext
->
log_thread_lock
));
}
result
=
log_check_rotate
(
pContext
);
if
(
bNeedLock
)
{
pthread_mutex_unlock
(
&
(
pContext
->
log_thread_lock
));
}
return
result
;
}
}
...
...
@@ -612,7 +605,7 @@ static int log_fsync(LogContext *pContext, const bool bNeedLock)
if
(
pContext
->
current_size
>
pContext
->
rotate_size
)
{
pContext
->
rotate_immediately
=
true
;
log_check_rotate
(
pContext
,
false
);
log_check_rotate
(
pContext
);
}
}
...
...
@@ -630,23 +623,9 @@ static int log_fsync(LogContext *pContext, const bool bNeedLock)
break
;
}
/*
if (pContext->log_fd != STDERR_FILENO)
{
if (fsync(pContext->log_fd) != 0)
{
result = errno != 0 ? errno : EIO;
fprintf(stderr, "file: "__FILE__", line: %d, " \
"call fsync fail, errno: %d, error info: %s\n",\
__LINE__, result, STRERROR(result));
break;
}
}
*/
if
(
pContext
->
rotate_immediately
)
{
result
=
log_check_rotate
(
pContext
,
false
);
result
=
log_check_rotate
(
pContext
);
}
}
while
(
0
);
...
...
src/logger.h
浏览文件 @
8b9bdfd3
...
...
@@ -115,6 +115,9 @@ int log_init2();
#define log_take_over_stderr() log_take_over_stderr_ex(&g_log_context)
#define log_take_over_stdout() log_take_over_stdout_ex(&g_log_context)
#define log_header(pContext, header, header_len) \
log_it_ex2(pContext, NULL, header, header_len, false, false)
#define log_destroy() log_destroy_ex(&g_log_context)
/** init function, use stderr for output by default
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录