libcopp更新 (merge boost 1.59 context)
libcopp更新 (merge boost 1.59 context)
之前由于兴趣写了一个协程框架,目前这个框架已经投入项目中使用。
这个框架的上下文部分是使用了boost.context,但是从开始写libcopp到现在,boost.context也更新了几个版本。而之前几次merge基本都是简单地跟进了make_fcontext和jump_fcontext两个函数,这次就再稍微翻了一遍其他部分的代码。
boost.context的变化
首先是它在非windows栈分配的时候,增加了valgrind的适配。不过boost.context里的不同平台的栈缓冲区其实结构差不多,但是boost的实现里给复制粘贴了很多遍,所以我就干脆把这些地方合并啦。减少了一些重复代码。