摘要: 当向一个被对方关闭的链接连续write操作两次,第二次操作会引发SIGPIPE,该消息的默认处理行为是停止主程序。参见UNP 5.13节 阅读全文
posted @ 2011-12-28 21:35 bourneli 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 本文目的前几天在开发中遇到一个古怪的问题,定位了两天左右的时间才发现问题。该问题正如题目所描述:单一模式在动态链接库之间出现了多个实例。由于该实例是一个配置管理器,许多配置信息都在这个实例的初始化过程中读取,一旦出错,系统的其他地方都无法正确运行,所以给问题定位带来一定难度。为了避免敏感信息的泄漏,同时为了便于大家理解,将问题简化,在此与大家分享。问题描述首先,编写一个简单的单一模式的类,文件singleton.h内容如下。#ifndef SINGLETON_H_#define SINGLETON_H_class singleton{private: singleton() {num =... 阅读全文
posted @ 2011-12-28 18:24 bourneli 阅读(9920) 评论(1) 推荐(4) 编辑
摘要: 本文目的前几天在写程序时,发现一个多重继承类,调用virtual函数会出现一个问题,该问题比较隐晦(因为不会引起程序core dump等严重的效果,我是很偶然的在单元测试中发现的),不容易定位,但是如果出现,可能对程序逻辑会带来致命的问题。一个例子#include <iostream>using namespace std;class Base1{public: virtual void foo1() {};};class Base2{public: virtual void foo2() {};};class MI : public Base1, public Base2{pub 阅读全文
posted @ 2011-12-28 18:10 bourneli 阅读(23817) 评论(4) 推荐(0) 编辑
摘要: 本文目的今天在使用jsoncpp 0.5的时候很偶然的发现了一个bug,由于jsoncpp在业界被广泛使用,所以有必要将这个bug指出。一个例子/* * bug_demo.cpp * * Created on: 2011-11-22 * Author: bourneli */#include "json/json.h"#include <iostream>#include <fstream>using namespace std;int main(){ Json::Value oRootVal; Json::Reader oJsonReader; o 阅读全文
posted @ 2011-12-28 12:32 bourneli 阅读(5855) 评论(1) 推荐(2) 编辑