1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00

AFAICT, this is a Win32 platform-specific defect, as there is

no corresponding config.m4, and therefore no unix module named 
mod_lbmethod_rr.

This module was apparently abandoned prior to API changes that
preceeded 2.4.1 and therefore never belonged in the 2.4.x GA.

Remove the last references from branches/2.4.x, and we can deal
later with whether or not this subsists on trunk/...

Reviewed by: wrowe, trawick

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1736269 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
William A. Rowe Jr
2016-03-23 03:45:27 +00:00
parent dfcf1bb5ca
commit f69d76bf60
7 changed files with 1 additions and 313 deletions

View File

@@ -68,9 +68,6 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name mod_example_ipc
End Project Dependency
Begin Project Dependency
Project_Dep_Name mod_lbmethod_rr
End Project Dependency
}}}
###############################################################################
@@ -1987,30 +1984,6 @@ Package=<4>
###############################################################################
Project: "mod_lbmethod_rr"=.\modules\proxy\examples\mod_lbmethod_rr.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name libapr
End Project Dependency
Begin Project Dependency
Project_Dep_Name libhttpd
End Project Dependency
Begin Project Dependency
Project_Dep_Name mod_proxy
End Project Dependency
Begin Project Dependency
Project_Dep_Name mod_proxy_balancer
End Project Dependency
}}}
###############################################################################
Project: "mod_ldap"=.\modules\ldap\mod_ldap.dsp - Package Owner=<4>
Package=<5>

View File

@@ -71,9 +71,6 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name mod_example_ipc
End Project Dependency
Begin Project Dependency
Project_Dep_Name mod_lbmethod_rr
End Project Dependency
}}}
###############################################################################
@@ -2344,33 +2341,6 @@ Package=<4>
###############################################################################
Project: "mod_lbmethod_rr"=.\modules\proxy\examples\mod_lbmethod_rr.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name libapr
End Project Dependency
Begin Project Dependency
Project_Dep_Name libaprutil
End Project Dependency
Begin Project Dependency
Project_Dep_Name libhttpd
End Project Dependency
Begin Project Dependency
Project_Dep_Name mod_proxy
End Project Dependency
Begin Project Dependency
Project_Dep_Name mod_proxy_balancer
End Project Dependency
}}}
###############################################################################
Project: "mod_ldap"=.\modules\ldap\mod_ldap.dsp - Package Owner=<4>
Package=<5>

View File

@@ -564,11 +564,6 @@ _build:
$(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
cd ..\..\..
!IFDEF ALL
cd modules\proxy\examples
$(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
cd ..\..\..
!ENDIF
cd modules\session
$(MAKE) $(MAKEOPT) -f mod_session.mak CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -836,9 +831,6 @@ _copybin:
copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so) "$(inst_so)" <.y
copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so) "$(inst_so)" <.y
!IFDEF ALL
copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
!ENDIF
copy modules\session\$(LONG)\mod_session.$(src_so) "$(inst_so)" <.y
copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y

View File

@@ -309,8 +309,7 @@ Known Bugs and Limitations
of httpd and support libraries in a manner suitable for typical users
* no logic to find support libraries or otherwise build these modules:
+ mod_socache_dc (requires distcache), mod_serf (requires serf)
+ additionally, mod_lbmethod_rr and mod_firehose don't compile on Windows
anyway
+ additionally, mod_firehose doesn't compile on Windows anyway
* buildmark.c isn't necessarily rebuilt when httpd.exe is regenerated
* ApacheMonitor has a build error and is disabled
* CGI examples aren't installed

View File

@@ -1,134 +0,0 @@
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* Round Robin lbmethod EXAMPLE module for Apache proxy */
/* NOTE: This is designed simply to provide some info on how to create
extra lbmethods via sub-modules... This code is ugly
and needs work to actually do round-robin "right"
but that is left as an exercise for the reader */
#include "mod_proxy.h"
#include "scoreboard.h"
#include "ap_mpm.h"
#include "apr_version.h"
#include "ap_hooks.h"
#if APR_HAVE_UNISTD_H
#include <unistd.h> /* for getpid() */
#endif
module AP_MODULE_DECLARE_DATA proxy_balancer_rr_module;
typedef struct {
int index;
} rr_data ;
/*
*/
static proxy_worker *find_best_roundrobin(proxy_balancer *balancer,
request_rec *r)
{
int i;
proxy_worker **worker;
proxy_worker *mycandidate = NULL;
int checking_standby;
int checked_standby;
rr_data *ctx;
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, APLOGNO(01116)
"proxy: Entering roundrobin for BALANCER %s (%d)",
balancer->name, (int)getpid());
/* The index of the candidate last chosen is stored in ctx->index */
if (!balancer->context) {
/* UGLY */
ctx = apr_pcalloc(r->server->process->pconf, sizeof(rr_data));
balancer->context = (void *)ctx;
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, APLOGNO(01117)
"proxy: Creating roundrobin ctx for BALANCER %s (%d)",
balancer->name, (int)getpid());
} else {
ctx = (rr_data *)balancer->context;
}
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, APLOGNO(01118)
"proxy: roundrobin index: %d (%d)",
ctx->index, (int)getpid());
checking_standby = checked_standby = 0;
while (!mycandidate && !checked_standby) {
worker = (proxy_worker **)balancer->workers->elts;
for (i = 0; i < balancer->workers->nelts; i++, worker++) {
if (i < ctx->index)
continue;
if (
(checking_standby ? !PROXY_WORKER_IS_STANDBY(*worker) : PROXY_WORKER_IS_STANDBY(*worker)) ||
(PROXY_WORKER_IS_DRAINING(*worker))
) {
continue;
}
if (!PROXY_WORKER_IS_USABLE(*worker))
ap_proxy_retry_worker("BALANCER", *worker, r->server);
if (PROXY_WORKER_IS_USABLE(*worker)) {
mycandidate = *worker;
break;
}
}
checked_standby = checking_standby++;
}
ctx->index += 1;
if (ctx->index >= balancer->workers->nelts) {
ctx->index = 0;
}
return mycandidate;
}
static apr_status_t reset(proxy_balancer *balancer, server_rec *s)
{
return APR_SUCCESS;
}
static apr_status_t age(proxy_balancer *balancer, server_rec *s)
{
return APR_SUCCESS;
}
static const proxy_balancer_method roundrobin =
{
"roundrobin",
&find_best_roundrobin,
NULL,
&reset,
&age
};
static void ap_proxy_rr_register_hook(apr_pool_t *p)
{
ap_register_provider(p, PROXY_LBMETHOD, "roundrobin", "0", &roundrobin);
}
AP_DECLARE_MODULE(proxy_balancer_rr) = {
STANDARD20_MODULE_STUFF,
NULL, /* create per-directory config structure */
NULL, /* merge per-directory config structures */
NULL, /* create per-server config structure */
NULL, /* merge per-server config structures */
NULL, /* command apr_table_t */
ap_proxy_rr_register_hook /* register hooks */
};

View File

@@ -1,111 +0,0 @@
# Microsoft Developer Studio Project File - Name="mod_lbmethod_rr" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=mod_lbmethod_rr - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "mod_lbmethod_rr.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "mod_lbmethod_rr.mak" CFG="mod_lbmethod_rr - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "mod_lbmethod_rr - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "mod_lbmethod_rr - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "mod_lbmethod_rr - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I ".." /I "../../../include" /I "../../../modules/proxy" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Release\mod_lbmethod_rr_src" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /fo"Release/mod_lbmethod_rr.res" /i "../../../include" /i "../../../modules/proxy" /i "../../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_lbmethod_rr.so" /d LONG_NAME="lbmethod_rr_module for Apache"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /out:".\Release\mod_lbmethod_rr.so" /base:@..\..\..\os\win32\BaseAddr.ref,mod_lbmethod_rr.so
# ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Release\mod_lbmethod_rr.so" /base:@..\..\..\os\win32\BaseAddr.ref,mod_lbmethod_rr.so /opt:ref
# Begin Special Build Tool
TargetPath=.\Release\mod_lbmethod_rr.so
SOURCE="$(InputPath)"
PostBuild_Desc=Embed .manifest
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
# End Special Build Tool
!ELSEIF "$(CFG)" == "mod_lbmethod_rr - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I ".." /I "../../../include" /I "../../../modules/proxy" /I "../../../srclib/apr/include" /I "../../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Debug\mod_lbmethod_rr_src" /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /fo"Debug/mod_lbmethod_rr.res" /i "../../../include" /i "../../../modules/proxy" /i "../../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_lbmethod_rr.so" /d LONG_NAME="lbmethod_rr_module for Apache"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_lbmethod_rr.so" /base:@..\..\..\os\win32\BaseAddr.ref,mod_lbmethod_rr.so
# ADD LINK32 kernel32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /incremental:no /debug /out:".\Debug\mod_lbmethod_rr.so" /base:@..\..\..\os\win32\BaseAddr.ref,mod_lbmethod_rr.so
# Begin Special Build Tool
TargetPath=.\Debug\mod_lbmethod_rr.so
SOURCE="$(InputPath)"
PostBuild_Desc=Embed .manifest
PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2
# End Special Build Tool
!ENDIF
# Begin Target
# Name "mod_lbmethod_rr - Win32 Release"
# Name "mod_lbmethod_rr - Win32 Debug"
# Begin Source File
SOURCE=.\mod_lbmethod_rr.c
# End Source File
# Begin Source File
SOURCE=..\..\..\build\win32\httpd.rc
# End Source File
# End Target
# End Project

View File

@@ -86,7 +86,6 @@ mod_dav_lock.so 0x707C0000 0x00020000
mod_auth_form.so 0x707E0000 0x00020000
mod_example_ipc.so 0x70800000 0x00010000
mod_request.so 0x70810000 0x00010000
mod_lbmethod_rr.so 0x70820000 0x00010000
mod_session.so 0x70830000 0x00020000
mod_session_cookie.so 0x70850000 0x00010000
mod_session_crypto.so 0x70860000 0x00020000