shell命令管道未读完阻塞了子进程,与等待其结束的父进程死"锁"。
摘要:在exec执行一个子进程,我们希望使用管道取得子进程在标准输出的结果,同时等待子进程的结束。那么是等待子进程结束后才取管道数据,还是边取数据边等待子进程结束呢?
阅读全文
posted @
2017-10-31 16:27
bbqz007
阅读(2242)
推荐(0)
0MQ是会阻塞的,不要字面上看到队列就等同非阻塞。
摘要:如果你是希望通过0MQ来做缓冲队列,非阻塞的效果,那你就必须清楚 0MQ Socket是会阻塞的,必须要搞清楚0MQ Socket与队列的关系。
阅读全文
posted @
2017-10-30 14:39
bbqz007
阅读(1664)
推荐(0)
交叉编译sqlcipher
摘要:1. 小心预编译宏SQLITE_HAS_CODEC 2. openssl在不同License下,导出的符号不对等。(错了,1.1.0后api发生变化,小心选用openssl版本) 3, ac使用了libtool,但sysroot却在链接时失效。 一如往常,所有GNU Make like的项目在lin
阅读全文
posted @
2017-10-26 11:50
bbqz007
阅读(4911)
推荐(1)
ndk编译出来的executable动态库入口函数的参数错乱
摘要:早些时间用ndk编译带main入口函数的动态库,测试可运行。今天要作它用时,发现在这个入口函数并没有传入正确的参数。 hello.cpp有main函数,用ndk分别编译成可执行文件和动态库文件,使两者都可以在android手机下运行。 左侧是由编译出的可执行文件objdump出来的反汇编, 右侧是远
阅读全文
posted @
2017-10-23 15:40
bbqz007
阅读(409)
推荐(0)
不要让继承自引用计数管理资源的对象在栈上实例
摘要:引用计数进行管理资源,我们最熟悉的就是智能指针。在c++11之前,我们的对象都从一个引用计数管理资源的类继承,这个类有一个引用计数器,两个配对的操作addref和delref,当delref将引用计数器减为0时,会自动调用delete。这种机制要求对象必须实例在堆上,也就是new创建。当决定继承一个
阅读全文
posted @
2017-10-13 17:16
bbqz007
阅读(267)
推荐(1)
gdb(ddd,kdevelop等)调试ZeroIce开发的应用程序,中断信号引起的问题
摘要:不作文,只记要点。 1.Ice::Application的程序框架默认对SIGHUP, SIGINT, SIGTERM进行处理。目的就是捕捉Ctrl+C发出信号有序地结束程序。这个功能扰乱了我们使用gdb进行调试。 1.1 Ice::Application通过CtrlCHandler类,使用pthr
阅读全文
posted @
2017-10-13 14:42
bbqz007
阅读(523)
推荐(0)
mongodb存储二进制数据
摘要:mongodb 3.x存储二进制数据并不是以base64的方式,虽然在mongo客户端的查询结果以base64方式显示,请放心使用。下面来分析存储文件的存储内容。
阅读全文
posted @
2017-10-12 11:06
bbqz007
阅读(9122)
推荐(1)