亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1232 | 回復(fù): 0
打印 上一主題 下一主題

關(guān)于Linux字符設(shè)備號(hào)的分配用盡的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-05-05 21:59 |只看該作者 |倒序?yàn)g覽
當(dāng)使用動(dòng)態(tài)分配字符設(shè)備號(hào)的時(shí)候,無論是哪個(gè)函數(shù),最終都會(huì)調(diào)用__register_chrdev_region函數(shù),
當(dāng)major參數(shù)為0的時(shí)候,就表示由內(nèi)核動(dòng)態(tài)分配,那么下面的代碼:
static struct char_device_struct *
__register_chrdev_region(unsigned int major/*5*/, unsigned int baseminor/*0*/,
                           int minorct/*256*/, const char *name/*ville*/)
{
/*以上省略*/
/* temporary */
        if (major == 0) {/*分配一個(gè)主設(shè)備號(hào)!*/
                for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) {
                        if (chrdevs[i] == NULL)
                                break;
                }

                if (i == 0) {
                        ret = -EBUSY;
                        goto out;
                }
                major = i;
                ret = major;
        }
/*以下省略*/
}
那么按照代碼的意思就是,在chrdevs數(shù)組中搜索直到有一個(gè)元素位NULL。
那么當(dāng)沒有元素等于NULL的時(shí)候,就會(huì)ret = -EBUSY;goto out;了!

這樣豈不是很不合理,因?yàn)閏hrdevs數(shù)組中是char_device_struct的指針,chrdevs是一個(gè)散列表,每一個(gè)數(shù)組元素都可以有一個(gè)
沖突鏈表,為什么不在前256個(gè)主設(shè)備號(hào)不能用的時(shí)候繼續(xù)尋找而直接退出呢?

在devices.txt中,0-11的字符設(shè)備主設(shè)備號(hào)已經(jīng)被分配,那么是不是采用動(dòng)態(tài)分配的形式,最多分配244次,就不能再分配了呢?
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP