2

以下のredisソースを読みました:

int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask,
        aeFileProc *proc, void *clientData)
{
    if (fd >= eventLoop->setsize) {
        errno = ERANGE;
        return AE_ERR;
    }
    aeFileEvent *fe = &eventLoop->events[fd];
    //...
}

'fd' 引数は関数 socket または accept の戻り値であり、配列 'eventLoop->events' の添字として使用されます。「eventLoop->setsize」は 10000+1024=11024 に初期化されます。

だから私の質問は:関数ソケットまたは受け入れの戻り値の範囲は何ですか? なぜ配列の添え字として使用できるのですか?

4

2 に答える 2