回文章列表
作者gaod.bbs@cpu.tfcis.org (請叫我神秘工程師) 看板: itoc
標題Re: 使用者登入後斷線...
時間動力核心 (2008/07/25 Fri 21:40:53)
※ 引述《frankc (唬爛客)》之銘言:
> 原本BBS都運作得好好的,但是今天系統reboot之後,使用者輸入完帳號密碼後,
> 在歡迎畫面時連線就會被關閉了...但是BBS的程式很久都沒有改動了...不知道可
> 能是怎樣的問題,實在想不出來啊~大家幫幫我吧 XD
> 小弟的BBS...
> telnet://newsob.twbbs.org
> 謝謝~
不知道你是哪一個版本?

以目前公版最新版來講

可以從 bbsd.c 中,tn_main() 這邊下手

show 完歡迎畫面後斷線

所以應該 tn_login() 有正常跑完(或者是跑完 tn_login() 前斷線)

在 tn_main() 裡面相關的呼叫前後用 vmsg 大法檢查是斷在哪裡

類似這樣

  time(&ap_start);
  isgetdata = 0;

  prints("%s ⊙ " SCHOOLNAME " ⊙ " MYIPADDR "\n"
    "歡迎光臨【\033[1;33;46m %s \033[m】目前線上人數 [%d] 人",
    str_host, str_site, ushm->count);

  film_out((ap_start % 10) + FILM_OPENING0, 3); /* 亂數顯示開頭畫面 */

  currpid = getpid();

  tn_signals(); /* Thor.980806: 放於 tn_login前, 以便 call in不會被踢 */

vmsg("before tn_login()");
  tn_login();
vmsg("after tn_login()");

  board_main();
  gem_main();
#ifdef MY_FAVORITE
  mf_main();
#endif
  talk_main();

vmsg("before tn_motd()");
  tn_motd();
vmsg("after tn_motd()");

  menu();
  abort_bbs();  /* to make sure it will terminate */

登入後如果有看到 vmsg 訊息就代表有跑到剛行 code

沒看到就斷線代表在該 vmsg() 之前就斷了

一步一步來找看看是在哪個 function 裡面的哪行斷線的

找到之後如果還是不知所以的話再上來問吧:)

--
 好想要和你一起看月亮
         靠在你肩上  情話慢慢講...

                                  ▁▂▄▅▃▂▁    .        ﹊﹊
                   ﹋ ﹋   ◢◣    .       ●●ˊ     

--
=[:摃��:﹎Origin ]|[  Ocpu.tfcis.org  ]|[�搟說:]=
=[:摃�╱�:Author ]|[p5102-ipbffx02kyoto.kyoto.]|[�:]=
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻