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:
@@ -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>
|
||||
|
||||
30
Apache.dsw
30
Apache.dsw
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
};
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user