mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-12-01 19:37:45 +08:00
select on WIN32 using has some problem
This commit is contained in:
parent
fe1431b3c7
commit
db6f622a7a
@ -420,6 +420,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "redis_cluster", "lib_acl_cp
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_threads", "lib_acl_cpp\samples\master\master_threads\master_threads_vc2012.vcxproj", "{CD9495C6-83D7-4273-A2B7-6217B67D8999}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
@ -1424,6 +1431,21 @@ Global
|
||||
{814E8FCD-38B1-4CC2-A37D-A77A993D918D}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{814E8FCD-38B1-4CC2-A37D-A77A993D918D}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{814E8FCD-38B1-4CC2-A37D-A77A993D918D}.Template|x64.ActiveCfg = DebugDll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.DebugDll|x64.ActiveCfg = DebugDll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Release|Win32.Build.0 = Release|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Release|x64.ActiveCfg = Release|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Releasedll|x64.ActiveCfg = Releasedll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999}.Template|x64.ActiveCfg = DebugDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@ -1471,6 +1493,7 @@ Global
|
||||
{2F6EDD90-FE9E-4D1F-B2FE-7FED6805B1D4} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
|
||||
{946DAF94-90C7-44F9-B24B-6B8F105A84EF} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
|
||||
{DE0F9993-7821-4659-B1C2-3A24DE292E87} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
|
||||
{CD9495C6-83D7-4273-A2B7-6217B67D8999} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
|
||||
{9F6E3633-E3EB-4DD0-8B53-0013EAB5E532} = {BE48C8C9-2F6D-450B-9D42-4666E9257C8A}
|
||||
{572249B2-7EE6-41D8-97CE-6FA98BDCF412} = {BE48C8C9-2F6D-450B-9D42-4666E9257C8A}
|
||||
{8A5563B4-C546-46D0-9C64-D051CA29F164} = {2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE}
|
||||
|
@ -1,6 +1,12 @@
|
||||
修改历史列表:
|
||||
|
||||
------------------------------------------------------------------------
|
||||
486) 2015.3.11
|
||||
486.1) bugfix: 修改 acl_read_wait.c/acl_write_wait.c, 在 WIN32 平台下调用
|
||||
select 时不必检查 fd 与 FD_SETSIZE 的关系,因为 WIN32 下的 fd_set 结构定义及
|
||||
FD_XXX 宏的实现原理与 UNIX 不同,并且 WIN32 下的 fd 是不连续的,有可能会出现非常大
|
||||
的值,所以其中检查 fd < FD_SETSIZE 有可能会导致崩溃,其实也完全没有必要检查
|
||||
|
||||
485) 2015.3.5
|
||||
485.1) bugfix: acl_threads_server.c/acl_aio_server.c 当进程退出时,需要通知
|
||||
acl_master 主进程自己当前不可用,同时需要关闭与前端 TCP 派发器(master_dispatch)的连接
|
||||
|
@ -59,6 +59,75 @@ int acl_read_wait(ACL_SOCKET fd, int timeout)
|
||||
}
|
||||
}
|
||||
|
||||
#elif defined(WIN32_XX)
|
||||
|
||||
static HANDLE __handle = NULL;
|
||||
|
||||
int acl_read_wait(ACL_SOCKET fd, int timeout)
|
||||
{
|
||||
const char *myname = "acl_read_wait";
|
||||
OVERLAPPED *overlapped, *lpOverlapped;
|
||||
DWORD recvBytes;
|
||||
BOOL isSuccess;
|
||||
ACL_SOCKET fd2;
|
||||
DWORD bytesTransferred = 0;
|
||||
DWORD delay = timeout * 1000;
|
||||
HANDLE h2;
|
||||
|
||||
if (__handle == NULL)
|
||||
__handle = CreateIoCompletionPort(INVALID_HANDLE_VALUE,
|
||||
NULL, 0, 0);
|
||||
if (__handle == NULL) {
|
||||
acl_msg_error("CreateIoCompletionPort: %s",
|
||||
acl_last_serror());
|
||||
return -1;
|
||||
}
|
||||
|
||||
overlapped = acl_mycalloc(1, sizeof(OVERLAPPED));
|
||||
|
||||
h2 = CreateIoCompletionPort((HANDLE) fd, __handle,
|
||||
(DWORD) overlapped, 0);
|
||||
if (h2 == NULL)
|
||||
acl_myfree(overlapped);
|
||||
else if (h2 != __handle) {
|
||||
acl_msg_error("invalid h2 by CreateIoCompletionPort: %s",
|
||||
acl_last_serror());
|
||||
CloseHandle(h2);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ReadFile((HANDLE) fd, NULL, 0, &recvBytes, overlapped) == FALSE
|
||||
&& acl_last_error() != ERROR_IO_PENDING)
|
||||
{
|
||||
acl_msg_warn("%s(%d): ReadFile error(%s)",
|
||||
myname, __LINE__, acl_last_serror());
|
||||
return -1;
|
||||
}
|
||||
|
||||
delay = 6000;
|
||||
|
||||
while (1)
|
||||
{
|
||||
isSuccess = GetQueuedCompletionStatus(__handle,
|
||||
&bytesTransferred,
|
||||
(DWORD*) &fd2,
|
||||
(OVERLAPPED**) &lpOverlapped,
|
||||
delay);
|
||||
if (lpOverlapped == NULL)
|
||||
break;
|
||||
|
||||
if (HasOverlappedIoCompleted(lpOverlapped))
|
||||
acl_myfree(lpOverlapped);
|
||||
|
||||
if (isSuccess)
|
||||
return 0;
|
||||
//delay = 0;
|
||||
}
|
||||
|
||||
acl_msg_warn("timeout error: %s", acl_last_serror());
|
||||
return -1;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
int acl_read_wait(ACL_SOCKET fd, int timeout)
|
||||
@ -70,12 +139,14 @@ int acl_read_wait(ACL_SOCKET fd, int timeout)
|
||||
int errnum;
|
||||
|
||||
/*
|
||||
* Sanity checks.
|
||||
*/
|
||||
* Sanity checks.
|
||||
*/
|
||||
#ifndef WIN32
|
||||
if (FD_SETSIZE <= (unsigned) fd)
|
||||
acl_msg_fatal("%s(%d), %s: descriptor %d does not fit "
|
||||
"FD_SETSIZE %d", __FILE__, __LINE__, myname,
|
||||
(int) fd, FD_SETSIZE);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Guard the write() with select() so we do not depend on alarm()
|
||||
@ -98,7 +169,11 @@ int acl_read_wait(ACL_SOCKET fd, int timeout)
|
||||
acl_set_error(0);
|
||||
|
||||
for (;;) {
|
||||
#ifdef WIN32
|
||||
switch (select(1, &rfds, (fd_set *) 0, &xfds, tp)) {
|
||||
#else
|
||||
switch (select(fd + 1, &rfds, (fd_set *) 0, &xfds, tp)) {
|
||||
#endif
|
||||
case -1:
|
||||
errnum = acl_last_error();
|
||||
#ifdef WIN32
|
||||
|
@ -76,6 +76,7 @@ int acl_write_wait(ACL_SOCKET fd, int timeout)
|
||||
struct timeval *tp;
|
||||
int errnum;
|
||||
|
||||
#ifndef WIN32
|
||||
/*
|
||||
* Sanity checks.
|
||||
*/
|
||||
@ -83,6 +84,7 @@ int acl_write_wait(ACL_SOCKET fd, int timeout)
|
||||
acl_msg_fatal("%s, %s(%d): descriptor %d does not fit "
|
||||
"FD_SETSIZE %d", myname, __FILE__, __LINE__,
|
||||
(int) fd, FD_SETSIZE);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Guard the write() with select() so we do not depend on alarm()
|
||||
@ -105,7 +107,11 @@ int acl_write_wait(ACL_SOCKET fd, int timeout)
|
||||
acl_set_error(0);
|
||||
|
||||
for (;;) {
|
||||
#ifdef WIN32
|
||||
switch (select(1, (fd_set *) 0, &wfds, &xfds, tp)) {
|
||||
#else
|
||||
switch (select(fd + 1, (fd_set *) 0, &wfds, &xfds, tp)) {
|
||||
#endif
|
||||
case -1:
|
||||
errnum = acl_last_error();
|
||||
#ifdef WIN32
|
||||
|
@ -182,6 +182,7 @@ protected:
|
||||
// 要求关闭该客户端连接
|
||||
virtual bool thread_on_accept(acl::socket_stream* stream)
|
||||
{
|
||||
stream->set_rw_timeout(2);
|
||||
format("accept one client, peer: %s, local: %s, var_cfg_io_timeout: %d\r\n",
|
||||
stream->get_peer(), stream->get_local(), var_cfg_io_timeout);
|
||||
if (stream->format("hello, you're welcome!\r\n") == -1)
|
||||
@ -256,9 +257,10 @@ int main(int argc, char* argv[])
|
||||
|
||||
if (argc >= 2 && strcmp(argv[1], "alone") == 0)
|
||||
{
|
||||
int task_count = 2, threads_count = 2;
|
||||
int task_count = 20, threads_count = 2;
|
||||
format = (void (*)(const char*, ...)) printf;
|
||||
format("listen: 127.0.0.1:8888\r\n");
|
||||
acl::log::stdout_open(true);
|
||||
|
||||
// 单独运行方式
|
||||
if (argc >= 3)
|
||||
|
@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="DebugDll|Win32">
|
||||
<Configuration>DebugDll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Releasedll|Win32">
|
||||
<Configuration>Releasedll</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CD9495C6-83D7-4273-A2B7-6217B67D8999}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectName>master_threads</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2012d.lib;lib_acl_cpp_vc2012d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)master_threads.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\win32;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)master_threads.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<IgnoreSpecificDefaultLibraries>
|
||||
</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2012.lib;lib_acl_cpp_vc2012.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)master_threads.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<IgnoreSpecificDefaultLibraries>
|
||||
</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_d.lib;lib_acl_cpp_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)master_threads.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)master_threads.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl.lib;lib_acl_cpp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)master_threads.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)master_threads.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="master_threads.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -19,7 +19,7 @@ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=270070
|
||||
12) http 中的 WEB 编程模块应该支持 FCGI 模式
|
||||
13) session 应该增加一个 session_pool
|
||||
14) 整合 thrift/buffer 协议到 acl_master 服务器框架中
|
||||
15) 应支持 redis 客户端协议
|
||||
15) 应支持 redis 客户端协议 -- 完成
|
||||
16) 能支持 mysql 协议到 mongodb 协议的转换协议实现
|
||||
17) HttpServlet 支持 FCGI
|
||||
18) mime 解析库针对 7BIT 格式兼容性支持
|
||||
|
Loading…
Reference in New Issue
Block a user