1 Star 0 Fork 0

王昊/csv

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
cvs-1.11.19-abortabort.patch 2.53 KB
一键复制 编辑 原始数据 按行查看 历史
王昊 提交于 2021-08-04 16:15 . init
--- cvs-1.11.19/src/server.c.old3 2004-09-24 21:59:08.000000000 +0200
+++ cvs-1.11.19/src/server.c 2005-02-28 13:09:22.000000000 +0100
@@ -4900,6 +4900,15 @@
int status;
int save_noexec;
+#ifndef DONT_USE_SIGNALS
+#ifdef SIGABRT
+ /* Need to deregister the SIGABRT handler so that if an assertion
+ fails and calls abort while we're cleaning up, we won't
+ infinitely recurse in the cleanup function. */
+ SIG_deregister(SIGABRT, server_cleanup);
+#endif
+#endif /* !DONT_USE_SIGNALS */
+
if (buf_to_net != NULL)
{
/* Since we're done, go ahead and put BUF_TO_NET back into blocking
--- cvs-1.11.19/src/main.c.old3 2005-02-03 15:50:51.000000000 +0100
+++ cvs-1.11.19/src/main.c 2005-02-28 13:02:52.000000000 +0100
@@ -341,6 +341,13 @@
const char *name;
char temp[10];
+#ifdef SIGABRT
+ /* Need to deregister the SIGABRT handler so that if an assertion
+ fails and calls abort while we're cleaning up, we won't
+ infinitely recurse in the cleanup function. */
+ SIG_deregister(SIGABRT, main_cleanup);
+#endif
+
switch (sig)
{
#ifdef SIGABRT
--- cvs-1.11.19/src/rcs.c.old3 2005-01-31 23:15:08.000000000 +0100
+++ cvs-1.11.19/src/rcs.c 2005-02-28 13:06:06.000000000 +0100
@@ -8314,6 +8314,15 @@
called from a signal handler, so we don't know whether the
files got created. */
+#ifndef DONT_USE_SIGNALS
+#ifdef SIGABRT
+ /* Need to deregister the SIGABRT handler so that if an assertion
+ fails and calls abort while we're cleaning up, we won't
+ infinitely recurse in the cleanup function. */
+ SIG_deregister(SIGABRT, rcs_cleanup);
+#endif
+#endif /* !DONT_USE_SIGNALS */
+
/* FIXME: Do not perform buffered I/O from an interrupt handler like
this (via error). However, I'm leaving the error-calling code there
in the hope that on the rare occasion the error call is actually made
--- cvs-1.11.19/src/patch.c.old3 2005-01-31 23:15:02.000000000 +0100
+++ cvs-1.11.19/src/patch.c 2005-02-28 13:04:16.000000000 +0100
@@ -796,6 +796,15 @@
called from a signal handler, without SIG_begincrsect, so
we don't know whether the files got created. */
+#ifndef DONT_USE_SIGNALS
+#ifdef SIGABRT
+ /* Need to deregister the SIGABRT handler so that if an assertion
+ fails and calls abort while we're cleaning up, we won't
+ infinitely recurse in the cleanup function. */
+ SIG_deregister(SIGABRT, patch_cleanup);
+#endif
+#endif /* !DONT_USE_SIGNALS */
+
if (tmpfile1 != NULL)
{
if (unlink_file (tmpfile1) < 0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/kylinhao/csv.git
git@gitee.com:kylinhao/csv.git
kylinhao
csv
csv
master

搜索帮助