- 论坛徽章:
- 0
|
高并发下libevent开发的程序,有可能进入死循环,然后客户端无法连入。
strace看到的情况是:
- clock_gettime(CLOCK_MONOTONIC, {8078, 581490395}) = 0
- rt_sigprocmask(SIG_SETMASK, ~[], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
- rt_sigtimedwait(~[], 0x403989e30, {0, 0}, 8) = -1 EAGAIN (Resource temporarily unavailable)
- rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
- gettid() = 4668
- gettid() = 4668
- write(102394, "P", 1) = 1
- gettid() = 4668
- read(102393, "R", 1) = 1
- gettid() = 4668
- clock_gettime(CLOCK_MONOTONIC, {8078, 585339859}) = 0
- rt_sigprocmask(SIG_SETMASK, ~[], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
- rt_sigtimedwait(~[], 0x403989e30, {0, 0}, 8) = -1 EAGAIN (Resource temporarily unavailable)
- rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
- gettid() = 4668
- gettid() = 4668
- write(102394, "S", 1) = 1
- gettid() = 4668
- read(102393, "S", 1) = 1
- gettid() = 4668
- clock_gettime(CLOCK_MONOTONIC, {8078, 589163481}) = 0
- rt_sigprocmask(SIG_SETMASK, ~[], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
- rt_sigtimedwait(~[], 0x403989e30, {0, 0}, 8) = -1 EAGAIN (Resource temporarily unavailable)
- rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
- gettid() = 4668
- gettid() = 4668
- write(102394, "T", 1) = 1
- gettid() = 4668
- read(102393, "T", 1) = 1
- gettid() = 4668
- clock_gettime(CLOCK_MONOTONIC, {8078, 592980751}) = 0
- rt_sigprocmask(SIG_SETMASK, ~[], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
- rt_sigtimedwait(~[], 0x403989e30, {0, 0}, 8) = -1 EAGAIN (Resource temporarily unavailable)
- rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
- gettid() = 4668
复制代码 有时候还报:
[err] event_queue_insert: 0x12b7048(fd 606) already on queue 2 错误
[err] event_queue_insert: 0x12b7048(fd 606) already on queue 2 |
|