[cups-devel] [UNKN] STR #4605: Busy loop when epoll is in use

Tim Waugh noreply at cups.org
Wed Mar 11 04:01:04 PDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

epoll_wait() will always wait for EPOLL_HUP even if event.events==0. This
causes a busy loop when a connection is closed just after this moment, in
scheduler/client.c:1980:

	if (httpGetState(con->http) == HTTP_STATE_POST_SEND)
	{
 /*
	  * Don't listen for activity until we decide to do something with this...
	  */

  cupsdAddSelect(httpGetFd(con->http), NULL, NULL, con);

This causes an event with event.events==0 to be added/modified with
epoll_ctl().

Original report:
  https://bugzilla.redhat.com/show_bug.cgi?id=1179596

Link: https://www.cups.org/str.php?L4605
Version: 2.0-current
Fix Version: 2.0.2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJVACBwAAoJENujp6sI12IjCY4P/2aMA89w5KHSwzM5wIhWmYW6
kTdfUyPl0mPw4dovflMBv1Dqv6trLRenRZB8oHCNnqfXFGeuMHl2L7lf/PeE1BD3
sY02YqRLg9ktCiaWC0tnQ1XzShZpDIccl1mEaYo93Tw7Jf5Qu59NAPlC/eSkG3Ds
gDXTxkl+nJgIAwno2OzlCKRJPuxkYw2Hm3wTIQmDBSigonubjsAgS7fXyn+iAVK9
CprrsgZwLdA1ubXM0QAzMuaGavWMbLAi/ZqfYgBMt+L0qpg0jEQUDVOW00guQgZR
29RnhdQ12LDL/f9y5WTsRCW8BYGEZqQUEwjO2LM+9HqjCELsYBJJmeSaKnQ9r5cM
8viVZbBB+ogA9vtSFD3j9uXFT7OJJnbVxvPa6C1Jx8tQlJhT7fL6vwu2CguIspD3
1HFZr3nHtY6V/akM1btGBT0UaV44nTCvc9Cn0rhcYcHjztgc14iOJTGULGw8PL+y
BbhLTPTv7NWoDex1xyygNp4S5++cD3HJALFlsdj7qDt/Ifyz5gpV9NGKIfeg/+jf
QEX5ss0sCiwlU8d1Bir2uY5m5kfBVPpDH0YfZ1RuEgu6Mk4XNyAqFCb7wCxNjcv9
uWIXZazgYYSIBGoWK6nJKYX6PIV/khjeGM1QT6ZrAR0FrEc6xDX7fxwweBgwitSd
MSusrlytAGV/OpCttKFd
=UDw0
-----END PGP SIGNATURE-----




More information about the cups-devel mailing list