]> git.pond.sub.org Git - empserver/commit
Fix pr_player() and upr_player() to obey max_idle
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 11 Mar 2012 14:07:48 +0000 (15:07 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 26 Apr 2012 17:43:42 +0000 (19:43 +0200)
commitcac506f664e265b772e416f276b48b8bfad50dad
tree47f4d2d9f872c0c9f3fc82cea2b63a1ade562b5a
parent7980465199229e9f808f27cc76db2c7abf707c75
Fix pr_player() and upr_player() to obey max_idle

The output queue flush can block indefinitely.  Permits a client to
hog the thread indefinitely by not reading output.

Broken in commit 08b94556 (v4.3.20) "Reimplement max_idle without a
separate thread".  Until then, the idle thread aborted a stuck attempt
to flush output.

Denial of service seems possible.
src/lib/subs/pr.c