nitroethane@nitroethane
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“clone3 和 clone 在内核里都是走的同一个函数 kernel_clone。这段 manual 确实是我看走眼了,不过你不应该思考下我后面的分析么?在父子进程不 clone_vm 的情况下就不需要给 child 设置从堆上分配的栈么?而且这个描述在 manual 的 notes 里有。 In contrast …”
“你是不是看错文档了,只有当指定 `CLONE_VM` 的时候才需要指定 `stack` 和 `stack_size`,其它时候指定 `NULL` 和 `0` 就可以。 ``` The stack for the child process is specified via cl_args.stack, which po…”
“b)应该不止 io,只要是会导致 block 的操作都会使进程从 running 变成 block,例如获取不兼容的锁。 所以从逻辑上来说,running 变成 blocked,是因为进程需要的某些条件不满足;当条件满足之后变成 ready 等待调度器调度执行。所以说 ready 状态?进程啥都没干就不可能变成 blo…”
“检查 ioctl 和 setsockopt 函数的返回值啊,连错哪了都不知道”
“看到发起人的 ID,那没事了”
“难道不是两个都有?比如 rough 中 r 的发音是后者,ear 中 r 的发音是前者?”
“必需文件没有替换完吧。之前也遇到过这个问题,原因是漏掉了一个文件。看下文档哪些文件需要替换,然后重新替换下”
“你的库依赖的其他库也得有静态链接库。举个最简单的例子,如果你的系统里没有 glibc 的静态库的话是生成不了静态链接的可执行文件的。另外有些库生成静态链接的参数可能会有些许不同,仔细看下 ./configure --help 的输出”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。