我尝试使用curl在用c。
编写的守护进程中下载一个feed文件当我调用curl_global_init(CURL_GLOBAL_ALL)并跟随gdb调用时,我收到以下错误:
Thread 2.1 "showiumize" received signal SIGSEGV, Segmentation fault.
0x00007ffff781e6b2 in tcache_get () from /usr/lib/libc.so.6
关于我做错的任何想法?
答案 0 :(得分:0)
我发现了什么问题。由于它是一个守护进程,我在执行开始时关闭了stdout和stderr。但是,显然你没有那些就开始卷曲。这是一个最小,完整和可验证的例子:
#include <curl/curl.h>
#include <stdio.h>
int main(void) {
fclose(1);
curl_global_init(CURL_GLOBAL_ALL);
return 0;
}
该示例应该提供一个sigsev。我猜libcurl试图写入stdout。