1

最近、私が書いたシステムコールに関して、minix で非常に奇妙な問題に遭遇しています。基本的に、コードは main() 関数内から正常に実行され、呼び出しは本来の処理を行います。ただし、コードを関数に入れて main() 内からその関数を呼び出すと、失敗します。次に例を示します。

void do_foo()
{
    message m;
    _syscall(FS_PROC_NR, FOO, &m);
}

int main(int argc, char* argv[])
{
    /* works */
    message m;
    _syscall(FS_PROC_NR, FOO, &m);

    /* does not work */
    do_foo();
}

コードから関数を呼び出すと、メイン関数にコードを記述した場合と同じように動作するはずです。ここで何が欠けていますか??

4

0 に答える 0