| Commit message (Collapse) | Author | Files | Lines |
|
AC_CHECK_TARGET_TOOLS is new in "2.59b" but not baking that weird arg in.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897136 13f79535-47bb-0310-9956-ffa450edef68
|
|
Now with a shorter epilogue.
Dump of assembler code for function ap_cstr_casecmp:
0x0000000000049fd0 <+0>: xor %edx,%edx
0x0000000000049fd2 <+2>: lea 0x3d567(%rip),%r8 # 0x87540 <ucharmap>
0x0000000000049fd9 <+9>: nopl 0x0(%rax)
0x0000000000049fe0 <+16>: movzbl (%rsi,%rdx,1),%eax
0x0000000000049fe4 <+20>: movzbl (%r8,%rax,1),%ecx
0x0000000000049fe9 <+25>: movzbl (%rdi,%rdx,1),%eax
0x0000000000049fed <+29>: add $0x1,%rdx
0x0000000000049ff1 <+33>: movzbl (%r8,%rax,1),%eax
0x0000000000049ff6 <+38>: sub %ecx,%eax
0x0000000000049ff8 <+40>: jne 0x49ffe <ap_cstr_casecmp+46>
0x0000000000049ffa <+42>: test %ecx,%ecx
0x0000000000049ffc <+44>: jne 0x49fe0 <ap_cstr_casecmp+16>
0x0000000000049ffe <+46>: ret
End of assembler dump.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897106 13f79535-47bb-0310-9956-ffa450edef68
|
|
This ones have a shorter prologue (-O2 still).
Dump of assembler code for function ap_cstr_casecmp:
0x0000000000049fd0 <+0>: xor %edx,%edx
0x0000000000049fd2 <+2>: lea 0x3d567(%rip),%r8 # 0x87540 <ucharmap>
0x0000000000049fd9 <+9>: nopl 0x0(%rax)
0x0000000000049fe0 <+16>: movzbl (%rdi,%rdx,1),%eax
0x0000000000049fe4 <+20>: movzbl (%rsi,%rdx,1),%ecx
0x0000000000049fe8 <+24>: add $0x1,%rdx
0x0000000000049fec <+28>: movzbl (%r8,%rax,1),%eax
0x0000000000049ff1 <+33>: movzbl (%r8,%rcx,1),%ecx
0x0000000000049ff6 <+38>: cmp %ecx,%eax
0x0000000000049ff8 <+40>: jne 0x49ffe <ap_cstr_casecmp+46>
0x0000000000049ffa <+42>: test %eax,%eax
0x0000000000049ffc <+44>: jne 0x49fe0 <ap_cstr_casecmp+16>
0x0000000000049ffe <+46>: sub %ecx,%eax
0x000000000004a000 <+48>: ret
End of assembler dump.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897105 13f79535-47bb-0310-9956-ffa450edef68
|
|
The new versions [1] compile to a shorter/faster assembly than the previous
ones [2], no functionnal change.
[1] ap_cstr_casecmp() after this commit:
Dump of assembler code for function ap_cstr_casecmp:
0x0000000000049fc0 <+0>: movzbl (%rdi),%eax
0x0000000000049fc3 <+3>: movzbl (%rsi),%edx
0x0000000000049fc6 <+6>: lea 0x3d573(%rip),%r8 # 0x87540 <ucharmap>
0x0000000000049fcd <+13>: movzbl (%r8,%rax,1),%eax
0x0000000000049fd2 <+18>: movzbl (%r8,%rdx,1),%ecx
0x0000000000049fd7 <+23>: cmp %ecx,%eax
0x0000000000049fd9 <+25>: jne 0x49ffe <ap_cstr_casecmp+62>
0x0000000000049fdb <+27>: xor %edx,%edx
0x0000000000049fdd <+29>: jmp 0x49ffa <ap_cstr_casecmp+58>
0x0000000000049fdf <+31>: nop
0x0000000000049fe0 <+32>: add $0x1,%rdx
0x0000000000049fe4 <+36>: movzbl (%rdi,%rdx,1),%eax
0x0000000000049fe8 <+40>: movzbl (%rsi,%rdx,1),%ecx
0x0000000000049fec <+44>: movzbl (%r8,%rax,1),%eax
0x0000000000049ff1 <+49>: movzbl (%r8,%rcx,1),%ecx
0x0000000000049ff6 <+54>: cmp %ecx,%eax
0x0000000000049ff8 <+56>: jne 0x49ffe <ap_cstr_casecmp+62>
0x0000000000049ffa <+58>: test %eax,%eax
0x0000000000049ffc <+60>: jne 0x49fe0 <ap_cstr_casecmp+32>
0x0000000000049ffe <+62>: sub %ecx,%eax
0x000000000004a000 <+64>: ret
End of assembler dump.
[2] ap_cstr_casecmp() before this commit:
Dump of assembler code for function ap_cstr_casecmp:
0x000000000004a000 <+0>: movzbl (%rdi),%eax
0x000000000004a003 <+3>: movzbl (%rsi),%edx
0x000000000004a006 <+6>: lea 0x3d533(%rip),%r8 # 0x87540 <ucharmap>
0x000000000004a00d <+13>: mov %rdi,%r9
0x000000000004a010 <+16>: mov %rax,%rcx
0x000000000004a013 <+19>: movswl (%r8,%rdx,2),%edx
0x000000000004a018 <+24>: movswl (%r8,%rax,2),%eax
0x000000000004a01d <+29>: sub %edx,%eax
0x000000000004a01f <+31>: jne 0x4a052 <ap_cstr_casecmp+82>
0x000000000004a021 <+33>: mov $0x1,%edx
0x000000000004a026 <+38>: test %ecx,%ecx
0x000000000004a028 <+40>: je 0x4a052 <ap_cstr_casecmp+82>
0x000000000004a02a <+42>: nopw 0x0(%rax,%rax,1)
0x000000000004a030 <+48>: movzbl (%r9,%rdx,1),%eax
0x000000000004a035 <+53>: movzbl (%rsi,%rdx,1),%ecx
0x000000000004a039 <+57>: add $0x1,%rdx
0x000000000004a03d <+61>: mov %rax,%rdi
0x000000000004a040 <+64>: movswl (%r8,%rcx,2),%ecx
0x000000000004a045 <+69>: movswl (%r8,%rax,2),%eax
0x000000000004a04a <+74>: sub %ecx,%eax
0x000000000004a04c <+76>: jne 0x4a052 <ap_cstr_casecmp+82>
0x000000000004a04e <+78>: test %edi,%edi
0x000000000004a050 <+80>: jne 0x4a030 <ap_cstr_casecmp+48>
0x000000000004a052 <+82>: ret
End of assembler dump.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897101 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897094 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897093 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896911 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896891 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896890 13f79535-47bb-0310-9956-ffa450edef68
|
|
Use a cleaner solution.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896817 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896785 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896784 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896759 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896758 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896746 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896740 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896715 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896665 13f79535-47bb-0310-9956-ffa450edef68
|
|
directives, and add warning on stability/compatibility.
(e.g. PR: 65764)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896664 13f79535-47bb-0310-9956-ffa450edef68
|
|
When the listener starts accepting more connections than the number of workers
already started (due to scheduling), the listening sockets gets disabled (per
AH03269) but nothing was re-enabling them before the end of the connections,
despite the creation of more idle/available workers in the meantime.
In the wost case there is no idle worker when the listener accepts the first
connection thus nothing to wake up the listener blocked in poll() with no
socket, hence a deadlock.
Fix this by waking up the listener when a worker becomes idle and this unblocks
connections_above_limit(). This is also worthwhile when all the workers are
started (fully initialized runtime) since the number of idle workers is a
condition for connections_above_limit() anyway so the sooner the listeners are
re-enabled the better (the other condition is the number of connections which
is unblocked appropriately by decrement_connection_count() already).
Also when a child exists with ps->quiescing == 1 and it's caught by
server_main_loop() before perform_idle_server_maintenance(), active_daemons was
not decrement as needed (including accross restarts), leading to an invalid
active_daemons accounting.
* server/mpm/event/event.c(should_enable_listensocks):
New helper that returns whether listenning sockets can be poll()ed again.
* server/mpm/event/event.c(decrement_connection_count, listener_thread):
Use should_enable_listensocks() where previously open-coded.
* server/mpm/event/event.c(worker_thread):
Wake up the listener when is_idle => 1 and should_enable_listensocks().
Have a single point of exit when workers_may_exit to make sure that the
wake always occurs (even when exiting).
* server/mpm/event/event.c(server_main_loop):
Decrement active_daemons not only when !ps->quiescing but also when
ps->quiescing == 1, i.e. all the cases not handled by
perform_idle_server_maintenance() already.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896505 13f79535-47bb-0310-9956-ffa450edef68
|
|
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896414 13f79535-47bb-0310-9956-ffa450edef68
|
|
Prefer <code> to <var> when giving the value of a parameter
Add a missing space
Add a missing link
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896413 13f79535-47bb-0310-9956-ffa450edef68
|
|
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896411 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add some missing spaces spotted here and there to better comply with coding style
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896409 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896393 13f79535-47bb-0310-9956-ffa450edef68
|
|
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896386 13f79535-47bb-0310-9956-ffa450edef68
|
|
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896381 13f79535-47bb-0310-9956-ffa450edef68
|
|
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896378 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add a description for TLSHonorClientOrder
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896377 13f79535-47bb-0310-9956-ffa450edef68
|
|
In <syntax>, add some <em> around parameters that should be replaced by actual values.
Remove the text describing TLSProxyCA. It is a copy&paste error.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896374 13f79535-47bb-0310-9956-ffa450edef68
|
|
non-proxy directives
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896373 13f79535-47bb-0310-9956-ffa450edef68
|
|
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896372 13f79535-47bb-0310-9956-ffa450edef68
|
|
replaced with actual values
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896363 13f79535-47bb-0310-9956-ffa450edef68
|
|
PR 65760 <ryancaicse gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896361 13f79535-47bb-0310-9956-ffa450edef68
|