popen()中的CPU旋转

时间:2015-01-06 12:55:10

标签: c posix libc

这是我的代码:

FILE *f;
char cmd[4096] = {0};

snprintf(cmd, sizeof(cmd), "echo -n \"%s\" | openssl md5 -hex 2>/dev/null | sed 's/^.* //g'", input);
if (NULL == (f = popen(cmd, "r"))) {
    perror(popen);
}

我在popen()中获得了cpu旋转,这是我的callstack:

#0  0xf54d21cc in ?? () from /lib/libpthread.so.0
#1  0xf4395eb3 in fork () from /lib/libc.so.6
#2  0xf435b1d9 in _IO_proc_open () from /lib/libc.so.6
#3  0xf435b525 in popen () from /lib/libc.so.6

我不知道这是怎么发生的。 是否有任何“输入”可能导致这种情况发生?

0 个答案:

没有答案