NtyCo
NtyCo copied to clipboard
纯c版本的协程实现,汇编切换,调度器实现,包含服务器端案例,客户端并发测试案例
nty_coroutine_create(&read_co, server_reader, &cli_fd) cli_fd 为栈变量,复制给co->arg 栈对象的地址不会有问题么? ```c++ void server(void *arg) { unsigned short port = *(unsigned short *)arg; free(arg); int fd = nty_socket(AF_INET, SOCK_STREAM, 0); if (fd < 0) return...
nty_server_mulcore: nty_schedule.c:172: nty_schedule_sched_wait: Assertion `co_tmp == ((void *)0)' failed. Aborted (core dumped)
请问如果要支持在多线程环境中使用协程,有什么思路吗,是不是可以在主线程分发任务给不同线程,然后每个线程单独开一个协程池进行任务处理。 但是协程在线程之间转移会不会有问题,主线程accept了一个连接,并转移到了其他线程,因为我看到scheduler是用pthread_key_t标识的。
支持Arm吗
你的代码里已经没有 `nty_server_test.c` 这个文件了, wiki pages里边的代码参考链接需要更改一下-.- https://github.com/wangbojing/NtyCo/blob/master/nty_server_test.c
nty_coroutine_sleep is not working nty_coroutine.c
有个疑问
例如下面这种阻塞代码怎么调度呢? ``` f1(){ sleep(99999999) } f2(){ println("hello") } main(){ f1() f2() } ```
我阅读了一下NtyCo的源代码,发现其核心代码与lthread很相似,请问一下NtyCo借用了lthread的哪些内容,做了哪些改进和优化?
连接后报错,加了pic也不行。 ../../NtyCo/libntyco.a(nty_schedule.o): in function `nty_schedule_search_wait': nty_schedule.c:(.text+0x1de5): relocation truncated to fit: R_X86_64_PC32 against symbol `global_sched_key' defined in COMMON section in ../../NtyCo/libntyco.a(nty_coroutine.o)