Commits on Jan 8, 2009
  1. Backport of r122806.

    grendello committed Jan 8, 2009
    svn path=/branches/mono-2-2/mod_mono/; revision=122808
Commits on Nov 11, 2008
  1. Bump versions to 2.2

    Andrew Jorgensen
    Andrew Jorgensen committed Nov 11, 2008
    svn path=/branches/mono-2-2/mod_mono/; revision=118446
Commits on Nov 5, 2008
  1. kick buildbot

    gonzalop committed Nov 5, 2008
    svn path=/trunk/mod_mono/; revision=117989
Commits on Oct 27, 2008
  1. 2008-10-27 Gonzalo Paniagua Javier <>

    gonzalop committed Oct 27, 2008
    	* src/mod_mono.c: hush warnings.
    svn path=/trunk/mod_mono/; revision=117125
Commits on Sep 25, 2008
  1. typo in error message

    Joshua Tauberer
    Joshua Tauberer committed Sep 25, 2008
    svn path=/trunk/mod_mono/; revision=114068
Commits on Sep 22, 2008
  1. 2008-09-22 Juraj Skripsky <>

    jskripsky committed Sep 22, 2008
    	* Add new file types (as registered in
    svn path=/trunk/mod_mono/; revision=113750
Commits on Jul 14, 2008
  1. 2008-07-14 Joshua Tauberer <>

    Joshua Tauberer
    Joshua Tauberer committed Jul 14, 2008
    	* src/mod_mono.c: Always acquire a lock at the start of processing
    	a request. The active requests counter function now assumes the
    	lock is already aquired. Also added a accepting_requests flag
    	to the dashboard so that xsp configurations can be paused. Now
    	when restarting mod-mono-server from the control panel, the
    	configuration is set to not accepting requests (503s returned)
    	until after the restart. This fixed a problem that when requests
    	came in during a restart, mod-mono-server would never successfully
    	come back but it would keep getting forked. The flag can also
    	be turned on and off through the control panel.
    svn path=/trunk/mod_mono/; revision=107874
  2. 2008-07-14 Marek Habersack <>

    grendello committed Jul 14, 2008
    	* src/mod_mono.c (write_string_to_buffer, send_initial_data): use
    	32-bit integers explicitly.
    svn path=/trunk/mod_mono/; revision=107869
Commits on Jul 11, 2008
  1. 2008-07-11 Marek Habersack <>

    grendello committed Jul 11, 2008
    	* src/mod_mono.h (PROTOCOL_VERSION): bumped to 9
    	* src/mod_mono.c: added new structure, initial_data_info, used to
    	optimize the send_initial_data function.
    	(write_string_to_buffer): added new parameter, str_length, which
    	optionally provides the string length.
    	(get_table_send_size, write_table_to_buffer): serialized table
    	contains the whole table size in addition to element count now.
    	(send_initial_data): when calculating the initial data size use
    	the initial_data_info structure to store the figures, so that we
    	don't have to do it again later on in the code.
    	Protocol version is followed by the total block size now, so that
    	mod_mono_server can retrieve the initial data in one recv call
    	instead of in a series of those.
    	* added support for compiling with profiling
    	information (--enable-gprof)
    svn path=/trunk/mod_mono/; revision=107725
Commits on May 20, 2008
  1. 2008-05-20 Marek Habersack <>

    grendello committed May 20, 2008
    	* src/mod_mono.c: work correctly with IPv6 sockets, by detecting
    	the socket family instead of hard-coding it to AF_INET.
    	Do not get the default server's socket name until it is known
    	which mode the server should work in (tcp or unix sockets).
    	Fixes bug #392235
    	Patches contributed by Alex Villacís Lasso
    	<>, thanks!
    svn path=/trunk/mod_mono/; revision=103579
Commits on Apr 14, 2008
  1. 2008-04-14 Marek Habersack <>

    grendello committed Apr 14, 2008
    	* src/mod_mono.c: add several ifdefs for compilation with apache
    	1.3. Fixes bug #374272
    svn path=/trunk/mod_mono/; revision=100636
Commits on Jan 28, 2008
  1. version bump -> 1.9

    Wade Berrier
    Wade Berrier committed Jan 28, 2008
    svn path=/trunk/mod_mono/; revision=94183
Commits on Jan 21, 2008
  1. 2008-01-21 Joshua Tauberer <>

    Joshua Tauberer
    Joshua Tauberer committed Jan 21, 2008
    	* src/mod_mono.c: Implemented configurable rate limiting
    	  with MonoMaxActiveRequests and MonoMaxWaitingRequests.
    svn path=/trunk/mod_mono/; revision=93453
  2. 2008-01-20 Joshua Tauberer <>

    Joshua Tauberer
    Joshua Tauberer committed Jan 21, 2008
    	* src/mod_mono.c:
    	  - Try to delete an existing lockfile before creating a mutex
    	    (relevant if the lock type uses files).
    	  - Don't always try to remove the shm file (as root). This
    	    means we could never attach to an existing shm. The file
    	    ought to always be created as the apache user anyway.
    	    Instead, only delete after a failed attach.
    	  - Don't always call apr_shm_baseaddr_get in every call to this.
    	  - Code cleanup and fixes (a return should have been a goto).
    	  - Check that dashboard was actually created before accessing it.
    	  - Don't use the xsp->status flag in Apache 2+ since this is
    	    handled by the new cross-process locking mechanism.
    	  - No need to check if xsp->dashboard_shm was changed while
    	    waiting for a lock: that's impossible. (It's not multi-threaded.)
    	  - Don't call apr_shm_detach before apr_shm_destroy. That's not
    	    the right use of the API.
    svn path=/trunk/mod_mono/; revision=93418
Commits on Nov 8, 2007
  1. 2007-11-08 Wade Berrier <>

    Wade Berrier
    Wade Berrier committed Nov 8, 2007
           * Version bump -> 1.2.6
    svn path=/trunk/mod_mono/; revision=89283
Commits on Nov 6, 2007
  1. 2007-11-07 Marek Habersack <>

    grendello committed Nov 6, 2007
    	* added a --with-apu-config option, which lets one
    	select an apu-config path different to the auto-detected
    	one. Fixes bug #324685
    svn path=/trunk/mod_mono/; revision=89042
Commits on Oct 16, 2007
  1. 2007-10-16 Marek Habersack <>

    grendello committed Oct 16, 2007
    	* src/mod_mono.c (xsp_data): revert the flush logic - use
    	'no_flush' instead of 'do_flush' as it matches the managed side
    	more closely. Fixes (again) bug #325441
    	* src/mod_mono.h (cmdNames): reorder the names to match the enum.
    svn path=/trunk/mod_mono/; revision=87567
Commits on Oct 3, 2007
  1. 2007-10-03 Marek Habersack <>

    grendello committed Oct 3, 2007
    	* man/ removed documentation of the recently added
    	MonoFlushOnWrite directive. It is replaced by the new protocol
    	command described below.
    	* src/mod_mono.h: added the PROTOCOL_VERSION define (and bumped
    	the protocol value to 8, as a new command has been added).
    	Defined a new command, SET_CONFIGURATION, which is used to
    	configure mod_mono/apache from within the Mono ASP.NET runtime
    	(currently only HttpResponse.BufferOutput is sent)
    	* src/mod_mono.c: implemented new command, SET_CONFIGURATION.
    	Use PROTOCOL_VERSION macro when necessary instead of using the
    	literal integer value.
    	Removed the recently added MonoFlushOnWrite directive.
    svn path=/trunk/mod_mono/; revision=86804
Commits on Oct 2, 2007
  1. 2007-10-02 Marek Habersack <>

    grendello committed Oct 2, 2007
    	* man/ added more info for  the MonoFlushOnWrite
    svn path=/trunk/mod_mono/; revision=86772
Commits on Oct 1, 2007
  1. 2007-10-01 Marek Habersack <>

    grendello committed Oct 1, 2007
    	* src/mod_mono.c: implemented support for flushing the Apache
    	output buffers on every write, configurable via the
    	MonoFlushOnWrite directive.
    	* man/ added documentation of the MonoFlushOnWrite
    svn path=/trunk/mod_mono/; revision=86721
Commits on Sep 27, 2007
  1. 2007-09-27 Marek Habersack <>

    grendello committed Sep 27, 2007
    	* man/ document the restart options as Apache 2.0+
    	* src/mod_mono.h: move all apr includes to the APACHE2-only
    	* src/mod_mono.c: disable dashboard (and restart) for Apache 1.3 -
    	the support requires apr, which cannot be used in 1.3 modules (as
    	far as I know). Module compiles fine with Apache 1.3 now
    svn path=/trunk/mod_mono/; revision=86462
Commits on Sep 26, 2007
  1. typo fix

    grendello committed Sep 26, 2007
    svn path=/trunk/mod_mono/; revision=86414
Commits on Sep 25, 2007
  1. 2007-09-26 Marek Habersack <>

    grendello committed Sep 25, 2007
    	* src/mod_mono.c: added three wrapper functions to get the apache
    	configured user id, group id and user name.
    	(ensure_dashboard_initialized): attempt to remove the dashboard
    	file (if dashboard hasn't been created yet) as root, not as the
    	target user.
    	* src/mod_mono.h: unixd.h is not found in APACHE 1.3
    svn path=/trunk/mod_mono/; revision=86372
Commits on Sep 16, 2007
  1. src/mod_mono.c (mono_execute_request): if it can't establish a

    Joshua Tauberer
    Joshua Tauberer committed Sep 16, 2007
           connection after several attempts at forking, emit an error and
           don't continue on assuming the connection is there (causes ENOTCONN).
    svn path=/trunk/mod_mono/; revision=85858
Commits on Aug 22, 2007
  1. 2007-08-22 Marek Habersack <>

    grendello committed Aug 22, 2007
    	* src/mod_mono.c (terminate_xsp2): if apache is shutting down,
    	destroy the mutex too, to avoid a leak.
    svn path=/trunk/mod_mono/; revision=84611
Commits on Aug 10, 2007
  1. update the mod_mono version

    grendello committed Aug 10, 2007
    svn path=/trunk/mod_mono/; revision=83805
  2. 2007-08-10 Marek Habersack <>

    grendello committed Aug 10, 2007
    	* src/mod_mono.c (terminate_xsp2): take an extra argument telling
    	whether to acquire the dashboard lock before attempting to destroy
    	the dashboard.
    svn path=/trunk/mod_mono/; revision=83804
Commits on Aug 9, 2007
  1. 2007-08-08 Joshua Tauberer <>

    grendello committed Aug 9, 2007
    	* src/mod_mono.c: some fixes for the cross-process
    	locking and refactored process limits.
    	- Added a flag in the dashboard to ensure only one child process
    	issues an automated restart request to xsp.
    	- Don't assume the mutex is actually ever created in case of problems.
    	- Don't call apr_global_mutex_child_init if MOD_MONO_LOCKING_MECHANISM
    	is set, since for me this causes all locks to block forever.
    	- Improved some error messages and added one about command stream
    	- When the auto-restart check cannot get a lock, don't return a
    	HTTP_SERVICE_UNAVAILABLE status code, since we've already successfully
    	sent page output.
    	- Don't reset the dashboard in start_xsp if no fork was necessary.
    	- Included dashboard info in the control panel.
    	- Refactored process limits in order to aid debugging on why it
    	doesn't work at all.
    svn path=/trunk/mod_mono/; revision=83716
Commits on Aug 6, 2007
  1. 2007-08-06 Marek Habersack <>

    grendello committed Aug 6, 2007
    	* added --enable-gcov option to enable gcov(1)
    	compilation options.
    svn path=/trunk/mod_mono/; revision=83529
  2. 2007-08-06 Marek Habersack <>

    grendello committed Aug 6, 2007
    	* src/mod_mono.c (get_apr_locking_mechanism): use the
    	MOD_MONO_LOCKING_MECHANISM environment variable which lets the
    	user choose the dashboard locking mechanism on the runtime. It
    	must be set through the envvar since the module must know the
    	value before launching the backends, and that happens before the
    	config is fully parsed and merged.
    	* man/ documented new environment variable
    svn path=/trunk/mod_mono/; revision=83526
Commits on Jul 30, 2007
  1. 2007-07-30 Marek Habersack <>

    grendello committed Jul 30, 2007
    	* src/mod_mono.h (HAVE_UNIXD): define HAVE_UNIXD if we're running
    	on a platform that uses it.
    	(ensure_dashboard_initialized): check if unixd_config has correct
    	data before attempting to use it.
    	(fork_mod_mono_server): as above.
    svn path=/trunk/mod_mono/; revision=83004
  2. 2007-07-30 Marek Habersack <>

    grendello committed Jul 30, 2007
    	(ensure_dashboard_initialized): if necessary, set the global mutex
    svn path=/trunk/mod_mono/; revision=82979
  3. 2007-07-30 Marek Habersack <>

    grendello committed Jul 30, 2007
    	* src/mod_mono.c (mono_execute_request): initialize the global
    	mutex in the child process at the first request after we
    	initialize mod_mono. The call needs to be made in the child
    	process, so it can't stay in the initialization section of
    svn path=/trunk/mod_mono/; revision=82976
Commits on Jul 26, 2007
  1. formatting changes

    grendello committed Jul 26, 2007
    svn path=/trunk/mod_mono/; revision=82760
  2. 2007-07-26 Marek Habersack <>

    grendello committed Jul 26, 2007
    	* man/ added documentation for the new directives
    	* src/mod_mono.c: implemented backend auto-restart feature, along
    	with corresponding configuration directives, cross-process (or
    	cross-thread) locking. The housekeeping data is kept in a
    	per-backend shared memory segment (a dashboard) and is protected
    	with a mutex. The backends can be auto-restarted based on the
    	number of requests served, or their uptime.
    	Removed some debug statements.
    svn path=/trunk/mod_mono/; revision=82759