code:cinit - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
8231 /* Initialize clist by freeing all character blocks, & count 8281
8232 * number of character devices. (Once-only routine)
8233 */
8234 cinit()
8235 {
8236 register int ccp;
8237 register struct cblock *cp;
8238 register struct cdevsw *cdp;
8239 ccp = cfree;
8240 for (cp=(ccp+07)&~07; cp <= &cfree[NCLIST-1]; cp++) {
- ccp 指向 cfree数组的头部
8241 cp->c_next = cfreelist;
8242 cfreelist = cp;
8243 }
8244 ccp = 0;
8245 for(cdp = cdevsw; cdp->d_open; cdp++)
8246 ccp++;
8247 nchrdev = ccp;
8248 }
8249 /* ------------------------- */