1
根据进程优先级中的一些条件,我实现了一个系统调用,它返回值为0,1和2。我正在执行文件中的syscall()
。当系统调用返回0时,我得到syscall()
的返回值为0.但是,当它返回1或2时,我得到-1为-1,系统调用号为其他任何值。请让我知道,是否有可能返回值从0和-1分开。将系统调用的返回值传递给freebsd中的用户进程
根据进程优先级中的一些条件,我实现了一个系统调用,它返回值为0,1和2。我正在执行文件中的syscall()
。当系统调用返回0时,我得到syscall()
的返回值为0.但是,当它返回1或2时,我得到-1为-1,系统调用号为其他任何值。请让我知道,是否有可能返回值从0和-1分开。将系统调用的返回值传递给freebsd中的用户进程
系统调用的内核实现没有返回值,它返回一个错误代码。函数的第一个参数是一个“结构线程”,并且通过将td-> td_retval [0]设置为所需的返回值,将返回值传递回用户空间。例如,请参阅sys/kern/kern_prot.c中的getpid()的实现。