看板PttCurrent
标 题Re: [问题] mbbsd/edit.c 的 seg fault 修好过没有?
发信站HKDAY (Mon May 23 03:20:10 2005)
转信站ptt!Group.NCTU!grouppost!Group.NCTU!hkday
※ 引述《lxb (lxb)》之铭言:
: ※ 引述《[email protected] (小光光)》之铭言:
: : 理论上应该不会出现这种问题才对
: : 因为 abort_bbs_debug() 里会检查是否 reentrant,
: : 第二次进去则不会再 u_exit()
: 看看 backtrace 一例:
: #0 0x806b85b in auto_backup () at edit.c:581
: #1 0x807ebd9 in u_exit (mode=0x80b8292 "ABORTED") at mbbsd.c:155
: #2 0x807ed50 in abort_bbs (sig=1) at mbbsd.c:198
: #3 0xbfbfffac in ?? ()
: #4 0x807ebd9 in u_exit (mode=0x80b829a "AXXED") at mbbsd.c:155
: #5 0x807edbc in abort_bbs_debug (sig=11) at mbbsd.c:215
: #6 0xbfbfffac in ?? ()
: 注意, 以上的 symbol file 不是来自 current 的,
: 若莫和 Revision 1715 相当.
比对以下两页:
http://bbs.hkday.net/~source/pttbbs/mbbsd/mbbsd.c
http://opensvn.csie.org/pttbbs/trunk/pttbbs/mbbsd/mbbsd.c
current ptt 的 u_exit 是有一行
currmode = 0;
而 abort_bbs_debug 则又有一行
static int reentrant = 0;
以及相关的检查, 这在 rev 1715 的时代, 则尚未有之.
--
※ 发信站: 香港地(hkday.net)
◆ From: 61.238.143.229