回文章列表
作者dust.bbs@bbs.tcfsh.tc.edu.tw (灰塵 (......)) 看板: itoc
標題[修正] bbsd.c 站長重複登入時可以選擇踢掉自己
時間龍夢紀元 (2008/06/15 Sun 15:18:06)
可以省掉異常斷線後,還要上來踢掉自己的麻煩

順便問一下這個作法會不會有問題


: bbsd.c: login_user

          }

        /* 線上已有 MULTI_MAX 隻自己,禁止登入 */
          if ((multi = utmp_count(cuser.userno, 0)) >= MULTI_MAX || (!multi
&& acct_load(&cuser, uid) < 0))
          {
            login_abort("\n您重複登入的分身太多了,無法登入。);
          }
        }
# ====== 加上以下這一段 ====== #
        else
        {
          UTMP *ui;
          pid_t pid;

          if (!(ui = (UTMP *) utmp_find(cuser.userno)))
            break;              /* user isn't logged in */

          pid = ui->pid;

          if (pid && vans("要踢掉重複登入的帳號嗎?(Y/N) [N] ") == 'y' &&
 pid == ui->pid)
          {
            if ((kill(pid, SIGTERM) == -1) && (errno == ESRCH))
              utmp_free(ui);
            else
              sleep(3);                 /* 被踢的人這時候正在自我了斷 */
            blog("MULTI", cuser.userid);
          }
        }
# ============================ #



--
s◣◢|_                                ▲▲                        
    ∕/◤�\ 你掉下去的是普通的魔法使◣東方project系列
    |n ● ●l  還是不普通的魔法使?    ● ●  ̄ ̄ ̄ ̄ ̄ ̄ ̄
    |║ee◥�ee芍�         持續推廣ing
    |/|Π| ██>
�  �少女汗顏中...   ▂▃▄▄▄▄�  �ψ涼宮 域  gbwind ◢

--
◢◣◢◤    #  Origin  #  台中一中  龍夢紀元  bbs.tcfsh.tc.edu.tw
◥◣◥◣  #  Author  # dust
  ◢◤◥◤  #  From    # 123-240-148-62.cctv.dynamic.lsc.net.tw
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻