场景:

android ndk 开发

两个进程,一个主进程,一个子进程,主进程创建子进程

主进程和子进程都调用getaddrinfo做域名解析

现象:

主进程域名解析一切OK

子进程失败,错误码:HOST_NOT_FOUND

一直以为是android的bug,去网上找,没有任何相关的问题和解答。

后来想到创建子进程使用了自己写的一个封装类,不知道直接用fork + exec情况如何。试了一下,没有这个问题,这就好办了,对比一下就应该能找到原因了。

我们的进程分装类里面在fork + exec的基础上,还在子进程关闭了所有从父进程继承的描述符(除了0、1、2),去掉这段逻辑解决问题。

仔细研究一下android平台用fork + exec创建的子进程情况,发现子进程不做任何事就已经有很多打开的文件描述符了,从8一直到18都是打开的。这其中某一些应该与域名解析有关。

更多相关文章

  1. 转载:Android进程的内存管理分析
  2. android 图片占用进程的内存算法
  3. Android中的任务,进程,线程以及服务
  4. Android 杀掉自己进程的方法
  5. Android 获得当前进程PackageName
  6. Android之SQLiteDatabase使用与特殊情况处理
  7. 穿针引线,帮你回忆, 汇总:Android系统启动流程 & 应用程序'进程'启

随机推荐

  1. 太硬核了!一文爆肝所有设计模式!
  2. 通俗易懂!Java 线程池详解
  3. 使用 Docker 和 Traefik 搭建 WordPress
  4. nginx反向代理和负载均衡策略实战案例
  5. 那个火遍全球后被封杀的“AI一键脱衣”软
  6. 看见Java
  7. 掌握Mybatis动态映射,我可是下了功夫的
  8. 使用 Redis 实现一个轻量级的搜索引擎,牛
  9. 学习LINUX的第17天
  10. 使用 Docker 和 Traefik 搭建 WordPress(N