随笔分类 -  Linux

摘要:硬件编解码、硬件图像scale等过程,是在专有的硬件单元里进行,其使用的内存也是专有的内存,这种内存多是SoC中图形内存。如此方便与硬件加速图形渲染、图像显示、硬件图像加速处理等功能相交互。 上述过程在使用图形内存时,自然需要使用对应的图形内存管理API。常见的图形内存管理API有以下几种: 1,D 阅读全文
posted @ 2018-05-06 17:23 lanyuliuyun 阅读(2003) 评论(0) 推荐(0)
摘要:1, 利用iptables在OUTPUT方向丢弃特定端口上的报文之后,再使用tcpdump是无法抓取该端口出方向的包的。原因是libpcap是从网卡驱动中获取报文的,而这些报文在没有送到网卡驱动之前,就已经在协议栈中被netfilter丢包了。 2, connect()调用block模式下,当发送的 阅读全文
posted @ 2017-12-18 17:54 lanyuliuyun 阅读(308) 评论(0) 推荐(0)
摘要:在使用fastdfs时,编写数据上传代码时,遇到一个坑。最终根据指针对应的内存布局定位到一个其client API的一个坑,值得记录一下。具体是在 tracker_connect_server() 这个API上,其是一个宏,具体定义如下 tracker_connect_server_exs 声明如下 阅读全文
posted @ 2016-03-05 22:53 lanyuliuyun 阅读(1336) 评论(0) 推荐(0)
摘要:最近简单看了一把 linux-3.10.25 kernel中select/poll/epoll这个几个IO事件检测API的实现。此处做一些记录。其基本的原理是相同的,流程如下 可以看出流程并不复杂,本文按照上述流程,先对select/poll的实现做进一步分析,epoll的实现要复杂一些,另外做叙述 阅读全文
posted @ 2015-12-01 22:23 lanyuliuyun 阅读(8574) 评论(3) 推荐(3)
摘要:1,php7rc1源码编译undefined symboles的问题 自己计划将php7环境部署到cubieboard上,懒得去找别人预编译的版本,所以动手从源码编译,中间遇到了一个小问题,此处记录一下。 PHP的build系统是类似于automake,一般简单执行configure/make/ma 阅读全文
posted @ 2015-08-29 17:28 lanyuliuyun 阅读(496) 评论(0) 推荐(0)
摘要:最近几天在公司里写网络通讯的代码比较多,自然就会涉及到IO事件监测方法的问题。我惊奇的发现select轮训的方法在那里居然还大行其道。我告诉他们现在无论在Linux系统下,还是windows系统下,select都应该被废弃不用了,其原因是在两个平台上select的系统调用都有一个可以说是致命的坑。 阅读全文
posted @ 2014-08-30 16:41 lanyuliuyun 阅读(4939) 评论(0) 推荐(2)
摘要:被问到如何手动获取当前的调用栈,之前碰到过一时没记起来,现在回头整理一下。 其原理是:使用backtrace()从栈中获取当前调用各层函数调用的返回地址,backtrace_symbols()将对应地址翻译成对应的符号信息,这两个函数在execinfo.h中声明。详细用法见后面的example。这里 阅读全文
posted @ 2014-06-29 16:54 lanyuliuyun 阅读(4666) 评论(0) 推荐(0)
摘要:阿里核心系统团队博客http://csrd.aliapp.com/?p=1055记录了主动关闭TCP socket时,可能不发fin包,而是发rst的问题。其原因是主动关闭socket时,若接收buffer里还有报文尚未收取,则本段将以rst包替代正常情况下的fin包。详细的代码在net/ipv4/... 阅读全文
posted @ 2014-06-11 23:22 lanyuliuyun 阅读(667) 评论(0) 推荐(0)