【 在 minux (:(){:|:&};:) 的大作中提到: 】
: 标 题: Re: 问几个 kbs 代码的问题
: 发信站: 水木社区 (Tue Apr 8 01:15:02 2008), 转信
:
: 我随便说说,不知道对不对。。。
:
: 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: : 在看 atppp 的那篇 kbsIntro.txt,写的挺好,有些疑问,版上有人知道的话
: : 指点一下,省的我去看代码了。
: : * 版面文章索引文件有 .DIR, .JUNK,那么删除一个帖子时是把 .DIR 中
: : 对应的 fileheader 去掉,后头索引项往前挪吗?我觉得不大可能是这样,
: 应该是吧。。好像从FB开始就是这样了。
我找到 delete_record 那个函数了,确实是 mmap 后把索引项往前 memcpy 的,
这样如果突然断电,.DIR 岂不是要坏掉了?
: : 但 fileheader 里头 FILE_DEL 注释说“版主标记删除 X”,那么不是“已删除
: : 标记”了。
: 这个不是已删除标记。
: : * 我原先以为用户登录就是用的 login 或者 ssh,然后派生个 bbs 作为 shell,
: : 看 INSTALL.debian 后才知道有 bbsd, sshbbsd,请问自己写 telnetd 和 sshd
: : 有什么好处?
: 用于的登陆界面是需要bbs自己做啊。。。如果用login的话,
: 登陆界面就得和系统一个界面了,或者改login,但是没有这个必要。。。
似乎改 /etc/issue 可以修改登录画面,只是提示符那里貌似得修改 login 了,
普通用户登录也这个画面我觉得也没啥不好,反正登录后是正常的 shell,而且
改 login 比改 telnetd、sshd 容易多了,我看了下 sshbbsd 代码,是从 sshd
修改过来的。
: : * kbsIntro.txt 里提到代码里用了 sysv shm,这个跟 tmpfs + mmap 相比
: 不知道,我猜测可能是当时没有tmpfs?或者tmpfs不可移植?
: : 有什么好处?apue 里提到 sysv shm 有数目和大小限制,而且 sysv 的那套
: : IPC 机制在进程退出时是不会自动释放的,所以我觉得尽量不用为好。
: 就是不能在进程退出的时候释放吧。。。。
服务器突然崩溃后这些资源不会自动释放,需要设置 atexit 钩子。
: : BTW,问这些不是说 kbs 的实现不好怎么的,我其实是 unix 编程初手,kbs
: : 的做法跟我凭空想的很不一样,不知道里头藏了什么玄机。
:
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 211.151.248.*]
--
FROM 211.157.41.*