Mailing List Archive

Serializing Accepts
Linux runs into the same problem as Solaris with non-serial accepts.
Patches to 0.7.3k to flock on the error log follow. This solves the
problem under Linux and have noticed no user visible problems with
loads >60khits per day.

I have not yet tested this under our Solaris machine, but will. (not that
you'd want to actually run a web server under solaris, but...)

Matthew Gray --------------------------------- voice: (617) 577-9800
net.Genesis fax: (617) 577-9850
56 Rogers St. mkgray@netgen.com
Cambridge, MA 02142-1119 ------------- http://www.netgen.com/~mkgray


*** lock.h.orig Mon Jun 26 17:30:45 1995
--- lock.h Sun Jul 2 16:00:24 1995
***************
*** 58,65 ****

#ifndef NEED_ACCEPT_SERIALIZED

! #define lock_for_serialization()
! #define unlock_after_serialization()

#else
/* System dependent routine can be added here. */
--- 58,65 ----

#ifndef NEED_ACCEPT_SERIALIZED

! #define lock_for_serialization() flock(request->virt_host->error_log, LOCK_EX);
! #define unlock_after_serialization() flock(request->virt_host->error_log, LOCK_UN);

#else
/* System dependent routine can be added here. */
*** Makefile.orig Sun Jul 2 16:11:36 1995
--- Makefile Sun Jul 2 16:11:41 1995
***************
*** 56,62 ****
# For Sequent
#AUX_CFLAGS= -DSEQUENT
# For Linux -m486 ONLY IF YOU HAVE 486 BINARY SUPPORT IN KERNEL
! #AUX_CFLAGS= -DLINUX
# For A/UX
#AUX_CFLAGS= -DAUX
#EXTRA_LIBS= -lbsd -lposix -s
--- 56,62 ----
# For Sequent
#AUX_CFLAGS= -DSEQUENT
# For Linux -m486 ONLY IF YOU HAVE 486 BINARY SUPPORT IN KERNEL
! #AUX_CFLAGS= -DLINUX -DNEED_ACCEPT_SERIALIZED
# For A/UX
#AUX_CFLAGS= -DAUX
#EXTRA_LIBS= -lbsd -lposix -s