mirror of
https://github.com/apache/httpd.git
synced 2026-10-23 22:49:01 +03:00
- A new End-Of-Request bucket is pushed through the output filter
chain after the last bucket of the response.
- This bucket gets destroyed by ap_core_output_filter() after the
buckets in front of it have been sent.
- The destroy callback of the EOR bucket invokes the access logger
and frees the request's pool.
With this change, the request logger now runs after the last byte of
the response is _sent_, rather than after the last byte of the response
is _generated_. This should make the bytes-sent count in the access
log more accurate in cases where the client closes the connection
midway through the sending of the response.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307339 13f79535-47bb-0310-9956-ffa450edef68
87 lines
3.1 KiB
Makefile
87 lines
3.1 KiB
Makefile
|
|
CLEAN_TARGETS = gen_test_char test_char.h gen_uri_delims uri_delims.h \
|
|
ApacheCoreOS2.def httpd.exp export_files \
|
|
exports.c export_vars.h
|
|
|
|
SUBDIRS = mpm
|
|
|
|
LTLIBRARY_NAME = libmain.la
|
|
LTLIBRARY_SOURCES = \
|
|
test_char.h \
|
|
config.c log.c main.c vhost.c util.c \
|
|
util_script.c util_md5.c util_cfgtree.c util_ebcdic.c util_time.c \
|
|
connection.c listen.c \
|
|
mpm_common.c util_charset.c util_debug.c util_xml.c \
|
|
util_filter.c util_pcre.c exports.c \
|
|
scoreboard.c error_bucket.c protocol.c core.c request.c provider.c \
|
|
eoc_bucket.c eor_bucket.c core_filters.c
|
|
|
|
TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h httpd.exp
|
|
|
|
include $(top_builddir)/build/rules.mk
|
|
include $(top_srcdir)/build/library.mk
|
|
|
|
gen_test_char_OBJECTS = gen_test_char.lo util_debug.lo
|
|
gen_test_char: $(gen_test_char_OBJECTS)
|
|
$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
|
|
|
|
test_char.h: gen_test_char
|
|
./gen_test_char > test_char.h
|
|
|
|
util.lo: test_char.h
|
|
|
|
EXPORT_DIRS = $(top_srcdir)/include $(top_srcdir)/os/$(OS_DIR) $(top_srcdir)/modules/http
|
|
EXPORT_DIRS_APR = $(APR_INCLUDEDIR) $(APU_INCLUDEDIR)
|
|
|
|
# If export_files is a dependency here, but we remove it during this stage,
|
|
# when exports.c is generated, make will not detect that export_files is no
|
|
# longer here and deadlock. So, export_files can't be a dependency of
|
|
# delete-exports.
|
|
delete-exports:
|
|
@if test -f exports.c; then \
|
|
if test -f export_files; then \
|
|
files=`cat export_files`; \
|
|
headers="`find $$files -newer exports.c`"; \
|
|
if test -n "$$headers"; then \
|
|
echo Found newer headers. Will rebuild exports.c.; \
|
|
echo rm -f exports.c export_files; \
|
|
rm -f exports.c export_files; \
|
|
fi; \
|
|
else \
|
|
rm -f exports.c; \
|
|
fi; \
|
|
fi
|
|
|
|
export_files:
|
|
tmp=export_files_unsorted.txt; \
|
|
rm -f $$tmp && touch $$tmp; \
|
|
for dir in $(EXPORT_DIRS); do \
|
|
ls $$dir/*.h >> $$tmp; \
|
|
done; \
|
|
for dir in $(EXPORT_DIRS_APR); do \
|
|
ls $$dir/ap[ru].h >> $$tmp; \
|
|
ls $$dir/ap[ru]_*.h >> $$tmp; \
|
|
done; \
|
|
sort -u $$tmp > $@; \
|
|
rm -f $$tmp
|
|
|
|
exports.c: export_files
|
|
$(AWK) -f $(top_srcdir)/build/make_exports.awk `cat $?` > $@
|
|
|
|
export_vars.h: export_files
|
|
$(AWK) -f $(top_srcdir)/build/make_var_export.awk `cat $?` > $@
|
|
|
|
# Rule to make def file for OS/2 core dll
|
|
ApacheCoreOS2.def: exports.c export_vars.h $(top_srcdir)/os/$(OS_DIR)/core_header.def
|
|
cat $(top_srcdir)/os/$(OS_DIR)/core_header.def > $@
|
|
$(CPP) $< $(ALL_CPPFLAGS) $(ALL_INCLUDES) | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/ "\1"/' >> $@
|
|
$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep "^[a-z]" | sed -e 's/^\(.*\)$$/ "\1"/' >> $@
|
|
|
|
# Rule to make exp file for AIX DSOs
|
|
httpd.exp: exports.c export_vars.h
|
|
@echo "#! ." > $@
|
|
@echo "* This file was AUTOGENERATED at build time." >> $@
|
|
@echo "* Please do not edit by hand." >> $@
|
|
$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
|
|
$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
|