Permalink
Commits on Feb 3, 2008
  1. The request handler will be left in an inconsistent state if Apache d…

    …ies during the middle of sending headers. This commit contains the beginning of an attempt to fix that, but it'll probably be easier to drop persistent pipe connections all together.
    Hongli Lai committed Feb 3, 2008
  2. - Make DummyRequestHandler faster.

    - DummySpawnManager now checks for errors.
    - Update the Makefile and add more dependency information.
    - Improve documentation.
    - Add tests for ApplicationPool. These set of tests will test both StandardApplicationPool as well as ApplicationPoolServer.
    - Add empty test methods which are to be written later.
    Hongli Lai committed Feb 3, 2008
  3. - Improve documentation.

    - Add more unit tests.
    - Check for errors in DummySpawnManager.
    Hongli Lai committed Feb 3, 2008
  4. - Fix some crasher bugs in DispatcherBucket.

    - Fix wrong timeout calculation in DispatcherBucket.
    - Add a DummyRequestHandler, which is probably the fastest possible request handler implementation. This, together with DummySpawnManager, allows one to benchmark the Apache module's performance.
    Hongli Lai committed Feb 3, 2008
  5. - Fix bugs in file descriptor management:

      * Make sure we do not close file descriptors twice. This could have lead to racing conditions, whereby new file descriptors are accidentally closed!
      * Only close file descriptors that are within the valid file descriptor range.
    - Add unit test for checking that ApplicationPoolServer does not leak file descriptors.
    - Valgrind now runs the unit tests with no errors or even warnings!
    Hongli Lai committed Feb 3, 2008
Commits on Feb 2, 2008
  1. Make StandardApplicationPool thread-safe, and make it cache spawned a…

    …pplications with a naive algorithm.
    Hongli Lai committed Feb 2, 2008
  2. Fix some nasty bugs in the DispatcherBucket. Add some minor changes t…

    …o other parts.
    Hongli Lai committed Feb 2, 2008
  3. Add a new ApplicationPoolServer, for sharing the application pool bet…

    …ween child processes in Apache's prefork MPM. Also add unit tests for it.
    Hongli Lai committed Feb 2, 2008
Commits on Feb 1, 2008
  1. - Document thread-safetiness of MessageChannel.

    - Correctly use errno in SpawnManager.
    Hongli Lai committed Feb 1, 2008
  2. - Improve API documentation.

    - SpawnManager (C++):
       * Improve error handling.
       * Will now attempt to restart the spawn server if it died.
       * Is now thread-safe.
       * Allows specifying a group when spawning apps.
    - Ruby spawn server:
       * Allows specifying a group when spawning apps. This doesn't do anything yet.
    Hongli Lai committed Feb 1, 2008
  3. - Improve documentation for the MessageChannel and SpawnManager C++ c…

    …lasses.
    
    - Make sure a 500 Internal Server Error is returned if an unexpected exception is caught during a HTTP request.
    - Make the spawn server print its errors to the Apache error log file instead of its own log file.
    Hongli Lai committed Feb 1, 2008
  4. - Refactor the Hook class, and make it more 'C++-ey'. I.e. make less …

    …use of static global variables.
    
    - Make sure the Apache module is only initialized once. Apparently Apache initializes modules twice.
    - Optimize the request handler's protocol a bit so that fewer system calls are necessary.
    Hongli Lai committed Feb 1, 2008
  5. Make debugging code more fault-tolerant.

    Hongli Lai committed Feb 1, 2008
  6. - Add a benchmark for socket connections versus persistent pipes.

    - The unix_sockets_vs_pipes benchmark now shows the processed lines per second.
    Hongli Lai committed Feb 1, 2008
Commits on Jan 31, 2008
  1. mod_rails is stable now.

    Hongli Lai committed Jan 31, 2008
  2. mod_rails is more usable now though it still crashes randomly.

    The message channel protocol also had to be changed in order to fix some semantic ambiguities.
    Hongli Lai committed Jan 31, 2008
  3. Add a C++ SpawnManager class, which communicates with the Ruby spawn …

    …manager server to spawn applications. Also add unit tests for it.
    Hongli Lai committed Jan 31, 2008
Commits on Jan 29, 2008
  1. We can now run a DispatcherBucket 'hello world'

    Hongli Lai committed Jan 29, 2008
Commits on Jan 26, 2008
  1. Almost ready for action

    Hongli Lai committed Jan 26, 2008
  2. The Apache module is taking form.

    Hongli Lai committed Jan 26, 2008
Commits on Jan 25, 2008
  1. Write the beginning of the Apache 2 module.

    Hongli Lai committed Jan 25, 2008
  2. Finish the spawn manager.

    Hongli Lai committed Jan 25, 2008
  3. Move Ruby sources into 'lib' subfolder; add C extension for sending f…

    …ile descriptors over a Unix socket
    Hongli Lai committed Jan 25, 2008
  4. Add benchmarks

    Hongli Lai committed Jan 25, 2008
  5. Initial import.

    Hongli Lai committed Jan 25, 2008