【 在 GoGoRoger 的大作中提到: 】
: 哦哦,我还以为什么呐,这些对我不是什么大问题。
: 发自「今日水木 on Mi Note 3」
重载sleep();
里边有个放yield的函数指针,平时空。
此时的sleep与原来相同。
通过set_yield(),设定yield函数,此时sleep函数就变成协程函数。
协程操作任何的失败,都回到原有的sleep。
#include <sys/socket.h>
#include <sys/time.h>
#include <unistd.h>
#include <fcntl.h>
#include <sc.h>
#ifndef MIN
#define MIN(a,b) ((a)<(b))?(a):(b)
#endif
static T_YIELD yield=NULL;
T_YIELD get_yield()
{
return yield;
}
T_YIELD set_yield(T_YIELD new_yield)
{
T_YIELD oldyield=yield;
yield=new_yield;
return oldyield;
}
--
修改:ylh1969 FROM 221.221.53.*
FROM 221.221.53.*