作者: roga (罪人) 站內: Bug_Report
標題: [轉錄]Re: [誠徵]推文魔人~
時間: Wed Feb 23 23:55:32 2005
※ 本文轉錄自 [Talk] 看板
作者: roga (罪人) 站內: Talk
標題: Re: [誠徵]推文魔人~
時間: Sat Feb 12 22:39:05 2005
以下轉自 ITOC 全國連線討論區
作者 weiyu.bbs@******** (Andy) 看板 ITOC
標題 Re: [請益]想請教板上前輩一個推文的問題
時間 王者之家 (2005/02/12 Sat 16:26:14)
※ 引述《roga.bbs@******** (罪人)》之銘言:
> 您好,有記負分的制度,推文方式其實就和原本的ITOC完全一樣..
> 站方也沒有修改 推到「99」或是 推到 「爆」以及呸到「99」以及呸到「仆」
> 小弟很好奇這種情形是怎麼發生的,而且很多看板都曾經有過。
抱歉,沒注意:p(不小心和人氣的計數搞混了:p)
有可能真的是因為推文太密密集了
因為在做判斷if(hdr->score < 35)的時候
和真正寫入磁碟的時間是有段差距(雖然應該是差不多)
等到真正更新的時候
可能真正的值已經改變了(這在hdr->score<35的時候是看不出來的)
所以如果要避免這種情形
if(hdr->score < 35)可以放在addscore內判斷
修改addscore
static int
addscore(hdd, ram)
HDR *hdd, *ram;
{
if(hdd->score * curraddscore < 35) {
hdd->score += curraddscore;
hdd->xmode |= POST_SCORE;
}
}
然後看你post.c:post_score裡面這段的兩個if要不要去掉
case '1': /* 加分 */
if (hdr->score < 35)
curraddscore = 1;
break;
case '2': /* 扣分 */
if (hdr->score > -35)
curraddscore = -1;
break;
沒去掉的話
整段patch在一般狀況下(也就是還沒爆掉的情況下)
總共會做兩次檢查
但是如果已經達到上限
則會做一次檢查
也就是爆掉情形很多的情況下比較有利
如果去掉的話
無論如何 就是一次檢查
但是問題是...
在爆掉情形很多的情況下比較花io
因為每次都會去讀檔案(無論有沒有爆掉)
--
沒想到我居然用乘的XD
--
生▂�R▃有▁了▃苦▆痛
何不把眼睛的餘光留給別人
你會看到更多
--
╭────╮ ╬ weiyu.twbbs.org ╬ ☆☆☆☆☆☆☆☆☆☆☆☆
│王者之家│ ╬ weiyu ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
╰────╯ ╬ 發表於 weiyu.mshome.net ☆☆☆☆☆☆☆☆☆
作者 weiyu.bbs@******** (Andy) 看板 ITOC
標題 Re: [請益]想請教板上前輩一個推文的問題
時間 王者之家 (2005/02/12 Sat 18:13:42)
※ 引述《weiyu (Andy)》之銘言:
> static int
> addscore(hdd, ram)
> HDR *hdd, *ram;
> {
> if(hdd->score * curraddscore < 35) {
> hdd->score += curraddscore;
> hdd->xmode |= POST_SCORE;
> }
> }
另外,如果你原本的addscore是
static void
addscore(hdd, ram)
那那個void不用改成int
不然compiler可能會產生warning
(rec_ref的第六個參數好像改成void (*fref)()了
原本是int (*fref)()
所以新版的應該是
static void
addscore(hdd, ram)
HDR *hdd, *ram;
{
if(hdd->score * curraddscore < 35) {
hdd->score += curraddscore;
hdd->xmode |= POST_SCORE;
}
}
--
面對它
接受他
處理它
放下它
--
╭────╮ ╬ weiyu.twbbs.org ╬ ☆☆☆☆☆☆☆☆☆☆☆☆
│王者之家│ ╬ weiyu ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
╰────╯ ╬ 發表於 weiyu.mshome.net ☆☆☆☆☆☆☆☆☆
--
誰愛 愛
--
╭┼ Origin: 玩車人的天地 ˙東吳機研站 scumotor.com.tw
┼╯ Author: roga 從 220-134-15-5.HINET-IP.hinet.net 發表
→ CMLI0107 推:我的建議是加上 timer 去解決啦......好久沒玩code惹 05/02/12
→ roga 推:XDDD 05/02/12