diff options
author | Przemyslaw Jakwert <przemyslaw2.jakwert@sonymobile.com> | 2014-09-04 16:24:20 +0200 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2014-09-10 13:24:47 -0700 |
commit | 8806710d7a5cd6a168f2463de21498c58f70948a (patch) | |
tree | d312c37908692706e09922816bccc8a1995f84f9 /expectations | |
parent | 959e126e5ec51670d35ab84e90720f82f54c8eaf (diff) | |
download | libcore-8806710d7a5cd6a168f2463de21498c58f70948a.zip libcore-8806710d7a5cd6a168f2463de21498c58f70948a.tar.gz libcore-8806710d7a5cd6a168f2463de21498c58f70948a.tar.bz2 |
High CPU load in java.nio using poll
Sometimes when phone goes out of coverage CPU is
stuck at high load when it should not.
System.os.poll() returns the number of file descriptors
ready to be processed, but since they all have
revent=POLLERR, they are not handled/sent to the
application. Next time application does Selector.select(),
native will not block since there are FDs which have to
be processed and Java will discard them again.
As a result, Selector.select() gets called again and again,
producing 100% CPU load per thread that polls for FDs with
POLLERR set.
The fix is to add POLLERR handling (POLLHUP is being
handled already).
Bug: 17456151
(cherry picked from commit f41df4f9710dafffdedb5fa6c40550532069036a)
Change-Id: I3de249f5cac575da76cc16cdc7b986fb66417e04
Diffstat (limited to 'expectations')
0 files changed, 0 insertions, 0 deletions