The first patch changes to nonblocking reads and the use of apr_pollset_poll(). The next two patches are meant to be mostly refactoring and code motion, in order to make the fourth patch (which contains the actual architecture changes) more straightforward. The fifth patch is cleanup of now unnecessary code.
Comments and suggestions are welcome! The code in this patchset is Copyright (c) National Instruments and Apache Software Foundation, licensed to the public under the Apache License 2.0. Jacob Champion (5): Change reads to nonblocking/poll Separate plugin_send from the send implementation Pull framing logic into a separate function Read and write to the brigade from only one thread Remove extra pool and clean up brigades mod_websocket.c | 1005 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 607 insertions(+), 398 deletions(-) -- 2.1.1