Re: Panel lockups



Havoc Pennington wrote:

> To be sure, try running strace on the panel and the applet, and see
> what they are stuck doing. Another possibility is that they are stuck
> talking to esound.

A good idea. This is what I noticed on a lockup (strace of the panel
process):

connect(23, {sin_family=AF_INET, sin_port=htons(110),
sin_addr=inet_addr("128.11.68.63")}}, 16) = 0
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {3, 0})
read(23, "+", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "O", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "K", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, " ", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "h", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "e", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "l", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "l", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, "o", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
read(23, " ", 1)                        = 1
select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})

Clearly it is the pop connect and responses a byte at a time.

The mail check applet does a nasty little select() read() [a byte at a
time] loop in its pop check. Seems a rewrite could help.

My question is why does the mail check applet run from the event loop of
the panel while most other applets have their own processes?

Cheers,
Matty





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]