Block on recv instead of loop/polling in MultiSession
authorBill Erickson <berick@esilibrary.com>
Thu, 31 Jan 2013 20:05:53 +0000 (15:05 -0500)
committerLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Wed, 13 Mar 2013 21:36:13 +0000 (17:36 -0400)
commit56fa5ed7e9e0aceb4504a5bb279fa626d55a5fc0
tree7d296df70559b98b3eb1b7950c492bbe294920a3
parent8abac65dac48cc9bbd415741193e3fb873fdbc82
Block on recv instead of loop/polling in MultiSession

When the time comes to wait for responses to arrive, block on the XMPP
socket (which uses select() under the covers) until data arrives,
instead of looping furiously and calling receive in non-blocking mode.
Before this change, waiting on responses resulted in long-running CPU
spikes.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
src/perl/lib/OpenSRF/MultiSession.pm