You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rodent of Unusual Size <Ke...@Golux.Com> on 1999/02/20 05:45:53 UTC

[STATUS] (apache-apr) Fri Feb 19 23:45:50 EST 1999

Apache Portable Runtime STATUS:
Last modified at [$Date: 1999/02/17 08:13:13 $]

Release:

    0.1  : In pre-alpha development

Plan:

    Everyone discuss and wrangle out the issues on new-httpd,
    and commit changes as appropriate.

Showstoppers:
Committed Code Changes:

    . docs/ directory created and initial function pre-spec added
    . include/ directory created and start of APRStatus macros added
    . pthreads/ directory tree created and populated with latest
      work on Apache 1.3.5-dev port to pthreads inserted

Available Patches:
In progress:
    Modules
        Ensure thread safety.  Does not include mod_proxy, yet.

    Mod_status
	Re-write mod_status to use updated scoreboard for hybrid server.
        This is pretty close to completion. 

    Accept Serialization across Processes
	Currently, we use one mutex total, we need to change this to be
	one mutex per socket.  Possibly, we could attach the mutex to the
	listen_rec, and pass it down to the accept loop.

    Timeouts.  (only soft timeouts)

    Check misc thread safety.  Make sure UNIX code path mirrors NT path where
       appropriate

    Everything

Needs patch:
  * A patch to make the alloc_mutex's scope per-process. It seems to be
    causing trouble on Linux at least.

Open issues:

  * Whether every APR routine should return a status code
  * What the status codes should look like
  * Various modules aren't pthreads-ready (mod_cgi)
  * Bringing in the libap stuff

  * Mod_proxy
  * Optimize Optimize Optimize

  FEATURE SET FOR APR

Closed issues:
    Accept Thread Serialization
        Implemented as a blocking queue.  1 accept thread passes connection
        to queue (size of queue is config directive, default # of threads).
        All other threads block on queue.
    Process/Thread hybridization
        put monitor process back into place.  Was removed for initial port, 
	it's time we make sure the server is running, and if not, start 
	it again.
    Bringing this code up-to-date with the changes in the 1.3 branch.
        It's now up-to-date as of the morning of Feb 6th, 1999.
    Scoreboard
	Design the scoreboard appropriately for a hybrid process web
	server. This includes adding a tid field to the scoreboard.
    Signal Handling
        Investigate signal handling in Apache-pthreads.  SIGUSR1 is not a
	usable signal on Linux 2.0, because pthreads uses it to communicate
	between threads.  SIGWINCH was used for graceful restarts.
    Process/thread management
        Put (back) in the logic to manage the number of processes.
	Managing threads per process other than with a configuration
	constant is in doubt.