load_ucache是miscd daemon启动的时候才会调用的函数
别的进程都只是调用resolve_ucache来attach uidshm
而你的idnumber定义的是ucache.c里面的全局变量,各进程是独立的。
所以你只是修改了miscd某个进程当中的idnumber,而别的所有进程的idnumber还保持
他们原始的全局变量默认初始值0。
你可以把idnumber放入UCACHE结构当中,这样就属于uidshm这个共享内存的一部分,
你在miscd进程修改了,别的进程也都会看到这个修改。但是要注意UCACHE结构是
共享内存结构,直接决定共享内存大小,如果你修改了这个,必须完全停止系统
重新编译,完全清理掉共享内存,重新启动系统。精华区里面有我写的如何重启动
系统的说明。如果这里你出了一点点小差错,就会造成各个进程认为共享内存结构
不同,读写就会完全乱掉...
【 在 cometcaptor (参宿四[☆]一闪一闪亮晶晶) 的大作中提到: 】
: 这样的
: struct UCACHE {
: ucache_hashtable hashtable;
: ...................
--
FROM 61.182.213.*