01 2015 档案
系统中断与SA_RESTART
摘要:今天在调试程序时,sem_timedwait居然返回了一个Interrupted system call,错误码为EINTR。系统中断这东西我一向只闻其名,不见其"人",不想今天遇上了,脑中一片空白,赶紧上网恶补一下。 系统中断,要从慢系统调用(slow system call)说起,请参考h... 阅读全文
posted @ 2015-01-31 18:39 coding my life 阅读(2550) 评论(0) 推荐(0)
linux使用共享内存通信的进程同步退出问题
摘要:两个甚至多个进程使用共享内存(shm)通信,总遇到同步问题。这里的“同步问题”不是说进程读写同步问题,这个用信号量就好了。这里的同步问题说的是同步退出问题,到底谁先退出,怎么知道对方退出了。举个例子:进程负责读写数据库A,进程B负责处理数据。那么进程A得比进程B晚退出才行,因为要保存进程B处理完... 阅读全文
posted @ 2015-01-25 21:51 coding my life 阅读(3285) 评论(0) 推荐(0)
一个sigaction的C++ wrap
摘要:在上一篇文章(http://www.cnblogs.com/coding-my-life/p/4220128.html)中,提到了libev提供了处理信号的C++ wrap。但我显然接受不了需要进入libev的事件循环(event loop)后才能捕捉到消息的缺点。于是决定依照libev的思路自... 阅读全文
posted @ 2015-01-17 21:20 coding my life 阅读(1594) 评论(0) 推荐(0)
浅析libev的ev_signal过程
摘要:ev_signal是libev提供的对信号处理的一个模块,基本上是对sigaction函数的一个封装,并将本身是异步的信号转化为同步。ev_signal的使用十分简单:#include #include static void sigint_cb (struct ev_loop *loop,... 阅读全文
posted @ 2015-01-12 23:18 coding my life 阅读(4456) 评论(0) 推荐(1)
关于sem_unlink什么时候删除信号量
摘要:sem_unlink在man手册里有这么一段话: sem_unlink() removes the named semaphore referred to by name. The semaphore name is removed immediately. The semaphore isdest 阅读全文
posted @ 2015-01-10 22:53 coding my life 阅读(6100) 评论(0) 推荐(0)
忍不住吐槽类模板、模板类、函数模板、模板函数
摘要:最近在查资料,发现了一些blog上写"类模板、模板类、函数模板、模板函数的区别"之类的文章。一看之下,闭起眼睛想想,自己写了这么久C++,知道模板,知道函数,也知道类。如果单独问我,类模板或者模板类,我都认为是采用了模板的类。但不知道这"类模板、模板类、函数模板、模板函数"是什么东西。 仔细看... 阅读全文
posted @ 2015-01-03 21:31 coding my life 阅读(464) 评论(0) 推荐(0)
ubuntu 14.04 下试用Sublime Text 3
摘要:很多源代码都没有IDE支持的,尤其是开源的源代码。从github上下载的,很多也不用IDE。包括我自己公司的代码,基本都是脚本,也不用IDE。通常情况下,都是用notepad++、UE之类的文本编辑器打开一个文件夹就开始工作了。所有,有几个功能是不能少的:打开一个文件夹;在文件夹下对所有文件进行... 阅读全文
posted @ 2015-01-01 22:09 coding my life 阅读(528) 评论(0) 推荐(0)
闲来无事,温习一下快速排序法
摘要:快速排序法,还是很常用的。不论是面试还是写代码。这里说一下怎么coding出快速排序法。至于什么复杂度之类的,请参考http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F#C. 快速排序法的核心是分治法(Divide ... 阅读全文
posted @ 2015-01-01 18:39 coding my life 阅读(832) 评论(0) 推荐(0)
学艺不精,又被shell的管道给坑了
摘要:我用过bash shell,而且时间不短了。但我从来没学过shell,至少没有像C++这么认真去学。平时写些基本的脚本没问题,不懂也可以google、百度。可在2014最后一天,掉坑里了。 其实脚本也很简单,代码基本如下:#!/bin/bashdeclare -A FILES #关联数组... 阅读全文
posted @ 2015-01-01 11:35 coding my life 阅读(414) 评论(0) 推荐(0)