- 论坛徽章:
- 0
|
char* log_buffer = (char *) malloc(1024);
// .....................省略若干..................................
signal(SIGCHLD, SIG_IGN);
fork();
client_pid = getpid();
if (client_pid != listen_pid)
{
// 以下为子进程执行的代码
sprintf(log_buffer, "子进程(PID:%d)退出,退出代码是%d。", client_pid, exit_result);
klog(KLOG_TRACE, log_buffer);
fork_exit:
free(log_buffer); <--------------------- 这行代码会出错,log_buffer是在父进程里定义
// 子进程处理完后,不要再进行任何操作,直接退出。
exit(exit_result);
}
***************************************************错误信息
<2009-04-28 16:25:36><TRACE> 子进程(PID:8921)即将退出,退出代码是0。
*** glibc detected *** ./khttp: munmap_chunk(): invalid pointer: 0x00007fff1034ecd0 ***
======= Backtrace: =========
/lib/libc.so.6[0x7fc807e3aa58]
./khttp[0x4014cf]
./khttp[0x401021]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7fc807ddf466]
./khttp[0x400d09]
======= Memory map: ========
00400000-00402000 r-xp 00000000 08:06 24138 /media/e/workspace/c/khttp/khttp
00601000-00602000 r--p 00001000 08:06 24138 /media/e/workspace/c/khttp/khttp
00602000-00603000 rw-p 00002000 08:06 24138 /media/e/workspace/c/khttp/khttp
01df3000-01e14000 rw-p 01df3000 00:00 0 [heap]
7fc807ba9000-7fc807bbf000 r-xp 00000000 08:08 418619 /lib/libgcc_s.so.1
7fc807bbf000-7fc807dbf000 ---p 00016000 08:08 418619 /lib/libgcc_s.so.1
7fc807dbf000-7fc807dc0000 r--p 00016000 08:08 418619 /lib/libgcc_s.so.1
7fc807dc0000-7fc807dc1000 rw-p 00017000 08:08 418619 /lib/libgcc_s.so.1
7fc807dc1000-7fc807f2a000 r-xp 00000000 08:08 419941 /lib/libc-2.8.90.so
7fc807f2a000-7fc808129000 ---p 00169000 08:08 419941 /lib/libc-2.8.90.so
7fc808129000-7fc80812d000 r--p 00168000 08:08 419941 /lib/libc-2.8.90.so
7fc80812d000-7fc80812e000 rw-p 0016c000 08:08 419941 /lib/libc-2.8.90.so
7fc80812e000-7fc808133000 rw-p 7fc80812e000 00:00 0
7fc808133000-7fc808152000 r-xp 00000000 08:08 418674 /lib/ld-2.8.90.so
7fc808335000-7fc808337000 rw-p 7fc808335000 00:00 0
7fc80834d000-7fc808351000 rw-p 7fc80834d000 00:00 0
7fc808351000-7fc808352000 r--p 0001e000 08:08 418674 /lib/ld-2.8.90.so
7fc808352000-7fc808353000 rw-p 0001f000 08:08 418674 /lib/ld-2.8.90.so
7fff1033d000-7fff10352000 rw-p 7ffffffea000 00:00 0 [stack]
7fff103fe000-7fff103ff000 r-xp 7fff103fe000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
什么情况? |
|