在非process context中,不能做什么

 When you are outside of process context (i.e., in interrupt context), you must observe the
following rules:
  • No access to user space is allowed. Because there is no process context, there is
     no path to the user space associated with any particular process.

     不能访问任何user space的东东

  • The current pointer is not meaningful in atomic mode and cannot be used since
     the relevant code has no connection with the process that has been interrupted.

     不能用current指针
  • No sleeping or scheduling may be performed. Atomic code may not call sched-
     ule or a form of wait_event, nor may it call any other function that could sleep.
     For example, calling kmalloc(..., GFP_KERNEL) is against the rules. Sema-
     phores also must not be used since they can sleep.
    不能sleep 或者 schedule。

   也不能调用任何会sleep的函数。

 

boost::process::context 包含以下头文件: 1. `<boost/process.hpp>`:这是主要的包含文件,它定义了 boost 进程库的核心功能和类型。 2. `<boost/process/async.hpp>`:这个头文件包含异步处理相关的类和函数,用于在启动和管理子进程时进行阻塞的操作。 3. `<boost/process/child.hpp>`:这个头文件定义了与子进程相关的类型和函数,例如 Child 类,它表示一个正在运行的子进程。 4. `<boost/process/environment.hpp>`:这个头文件定义了用于操作进程环境变量的相应类型和函数。 5. `<boost/process/error.hpp>`:这个头文件包含了与进程错误相关的类型和函数,用于在处理进程操作的错误时提供更多的信息。 6. `<boost/process/group.hpp>`:这个头文件定义了进程组相关的类型和函数,用于管理和控制多个子进程。 7. `<boost/process/io.hpp>`:这个头文件包含了与进程 IO 相关的类型和函数,用于重定向和管理输入输出流。 8. `<boost/process/launch.hpp>`:这个头文件定义了启动子进程的类型和函数,用于控制子进程的启动参数。 9. `<boost/process/pipe.hpp>`:这个头文件定义了用于创建管道的类型和函数,用于在多个子进程之间进行输入输出的通信。 10. `<boost/process/posix.hpp>`:这个头文件包含与 POSIX 平台相关的进程操作类型和函数。 11. `<boost/process/start_dir.hpp>`:这个头文件定义了用于设置子进程启动目录的类型和函数。 需要注意的是,这些头文件可能并不是全部都需要包含,具体需要哪些头文件可以根据项目需求进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值