回文章列表
作者LHD.bbs@bbs.cs.nctu.edu.tw (不務正業) 看板: itoc
標題[修正] acct.c 避免多位站務重覆開板
時間交大資訊次世代BS2 (2007/10/14 Sun 18:14:12)
之前本站連署機發生兩位站務同時開板事件
才發現原來只有前面設板名時有檢查 最後寫入前並沒做最後確認@@
只要先動作的站務還沒確認寫入時 另一個站務也開始要開板並設完相同板名就會出包

: acct.c: brd_new()
...
  if (brd_set(brd, 1))
    return -1;

  if (vans(msg_sure_ny) != 'y')
    return -1;

+ if (brd_bno(brd->brdname) >= 0)
+ {
+   vmsg("錯誤!板名雷同,可能有其他站務剛開啟此板");
+   return -1;
+ }

  time(&brd->bstamp);
  if ((bno = brd_bno("")) >= 0)
  {
    rec_put(FN_BRD, brd, sizeof(BRD), bno, NULL);
  }
...

--
▄▄▄▄▄▄▄        ▄▄▄▄  ▄▄▄▄▄▄  <telnet://bbs.cs.nctu.edu.tw>
  █▄▄▄▄█        █        ▄▄▄▄▄█ Player: LHD                      
▄█▄▄▄▄█  ▄▄▄█        █▄▄▄▄▄ From: bbs.cs.nctu.edu.tw         
☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻