整理工程,优化代码

This commit is contained in:
zsxxsz 2014-12-07 23:48:11 +08:00
parent cf2528eb7c
commit d8fd96aee8
271 changed files with 1952 additions and 912 deletions

View File

@ -5,7 +5,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_stream", "lib_acl_cp
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime.vcproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime\mime.vcproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -22,12 +22,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samp
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64.vcproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime\mime_base64\mime_base64.vcproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp.vcproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime\mime_qp\mime_qp.vcproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
EndProjectSection
@ -94,14 +94,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HttpClient", "lib_acl_cpp\s
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl_client\ssl_client.vcproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl\ssl_client\ssl_client.vcproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_aio_client", "lib_acl_cpp\samples\ssl_aio_client\ssl_aio_client.vcproj", "{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_aio_client", "lib_acl_cpp\samples\aio\ssl_aio_client\ssl_aio_client.vcproj", "{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -139,24 +139,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql", "lib_acl_cpp\sample
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_threads", "lib_acl_cpp\samples\master_threads\master_threads.vcproj", "{FA0EEABF-CC21-4A99-89AA-D0379175E55A}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_threads", "lib_acl_cpp\samples\master\master_threads\master_threads.vcproj", "{FA0EEABF-CC21-4A99-89AA-D0379175E55A}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master_aio\master_aio.vcproj", "{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master\master_aio\master_aio.vcproj", "{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_trigger", "lib_acl_cpp\samples\master_trigger\master_trigger.vcproj", "{80F0213B-A053-4420-BAF9-4657AD8473DA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_trigger", "lib_acl_cpp\samples\master\master_trigger\master_trigger.vcproj", "{80F0213B-A053-4420-BAF9-4657AD8473DA}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_proc", "lib_acl_cpp\samples\master_proc\master_proc.vcproj", "{B7EE43F4-7541-48A7-A066-DA60A55E67ED}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_proc", "lib_acl_cpp\samples\master\master_proc\master_proc.vcproj", "{B7EE43F4-7541-48A7-A066-DA60A55E67ED}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -276,7 +276,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcache_pool", "lib_acl_cp
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp", "lib_acl_cpp\samples\master_udp\master_udp.vcproj", "{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp", "lib_acl_cpp\samples\master\master_udp\master_udp.vcproj", "{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}

View File

@ -165,7 +165,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HttpClient", "lib_acl_cpp\s
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master_aio\master_aio_vc2008.vcproj", "{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master\master_aio\master_aio_vc2008.vcproj", "{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -179,35 +179,35 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio_proxy", "lib_acl
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_proc", "lib_acl_cpp\samples\master_proc\master_proc_vc2008.vcproj", "{B7EE43F4-7541-48A7-A066-DA60A55E67ED}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_proc", "lib_acl_cpp\samples\master\master_proc\master_proc_vc2008.vcproj", "{B7EE43F4-7541-48A7-A066-DA60A55E67ED}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{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_threads\master_threads_vc2008.vcproj", "{FA0EEABF-CC21-4A99-89AA-D0379175E55A}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_threads", "lib_acl_cpp\samples\master\master_threads\master_threads_vc2008.vcproj", "{FA0EEABF-CC21-4A99-89AA-D0379175E55A}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_trigger", "lib_acl_cpp\samples\master_trigger\master_trigger_vc2008.vcproj", "{80F0213B-A053-4420-BAF9-4657AD8473DA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_trigger", "lib_acl_cpp\samples\master\master_trigger\master_trigger_vc2008.vcproj", "{80F0213B-A053-4420-BAF9-4657AD8473DA}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp", "lib_acl_cpp\samples\master_udp\master_udp_vc2008.vcproj", "{1DD31312-7815-49A6-AD50-82205FA8C4A5}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp", "lib_acl_cpp\samples\master\master_udp\master_udp_vc2008.vcproj", "{1DD31312-7815-49A6-AD50-82205FA8C4A5}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp_threads", "lib_acl_cpp\samples\master_udp_threads\master_udp_threads_vc2008.vcproj", "{FCF1825E-6A9C-4621-832C-D7FC6810707D}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp_threads", "lib_acl_cpp\samples\master\master_udp_threads\master_udp_threads_vc2008.vcproj", "{FCF1825E-6A9C-4621-832C-D7FC6810707D}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -228,21 +228,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcache_pool", "lib_acl_cp
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime_vc2008.vcproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime\mime_vc2008.vcproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64_vc2008.vcproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime\mime_base64\mime_base64_vc2008.vcproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp_vc2008.vcproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime\mime_qp\mime_qp_vc2008.vcproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -312,14 +312,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "lib_acl_cpp\sampl
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_aio_client", "lib_acl_cpp\samples\ssl_aio_client\ssl_aio_client_vc2008.vcproj", "{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_aio_client", "lib_acl_cpp\samples\aio\ssl_aio_client\ssl_aio_client_vc2008.vcproj", "{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl_client\ssl_client_vc2008.vcproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl\ssl_client\ssl_client_vc2008.vcproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -437,6 +437,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blank_line", "lib_acl_cpp\s
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ssl", "ssl", "{9C63E67F-F150-4B95-B578-12E6BD066191}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_server", "lib_acl_cpp\samples\ssl\ssl_server\ssl_server_vc2008.vcproj", "{FEBEA70A-A560-4B26-8101-71190CCE2DB2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -939,6 +943,14 @@ Global
{7EC4EF89-6523-44A8-9DCE-672FEAE82A7C}.Release|Win32.Build.0 = Release|Win32
{7EC4EF89-6523-44A8-9DCE-672FEAE82A7C}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{7EC4EF89-6523-44A8-9DCE-672FEAE82A7C}.Releasedll|Win32.Build.0 = Releasedll|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.Debug|Win32.ActiveCfg = Debug|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.Debug|Win32.Build.0 = Debug|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.DebugDll|Win32.Build.0 = DebugDll|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.Release|Win32.ActiveCfg = Release|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.Release|Win32.Build.0 = Release|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
{FEBEA70A-A560-4B26-8101-71190CCE2DB2}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -966,6 +978,7 @@ Global
{F6292B2C-2C57-40E1-805F-86D9FB1C3251} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{F7B28783-B507-42D8-BB2B-4B61E2B49FB7} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{E6FFFC99-AF28-4DD2-ACCF-7003498DF653} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{9C63E67F-F150-4B95-B578-12E6BD066191} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F} = {B8331BFA-4F66-41B8-9A0F-8B7617DC07B8}
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9} = {B8331BFA-4F66-41B8-9A0F-8B7617DC07B8}
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83} = {B8331BFA-4F66-41B8-9A0F-8B7617DC07B8}
@ -1004,12 +1017,13 @@ Global
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
{41FA5224-3315-4CDA-9C44-19085049F179} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
{B14C93A6-DABE-48F9-A78C-C94049B69984} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
{5BE9D250-12FD-48D2-B918-035E079E5BD0} = {F3E793C9-05F6-46CC-AFC1-6A3590AC2B4F}
{6319215C-021F-4439-A085-D1F35BF6E85A} = {F3E793C9-05F6-46CC-AFC1-6A3590AC2B4F}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
{3538D216-868E-4F9A-BC88-57A1A8F757F9} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
{3FC3D573-2A24-42F6-927F-5E4631CF48C8} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
{7EC4EF89-6523-44A8-9DCE-672FEAE82A7C} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
{B14C93A6-DABE-48F9-A78C-C94049B69984} = {9C63E67F-F150-4B95-B578-12E6BD066191}
{FEBEA70A-A560-4B26-8101-71190CCE2DB2} = {9C63E67F-F150-4B95-B578-12E6BD066191}
EndGlobalSection
EndGlobal

View File

@ -7,7 +7,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_stream", "lib_acl_cp
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime.vcxproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime\mime.vcxproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
EndProjectSection
@ -26,14 +26,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samp
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64.vcxproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime\mime_base64\mime_base64.vcxproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp.vcxproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime\mime_qp\mime_qp.vcxproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}

View File

@ -65,20 +65,20 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "md5", "lib_acl_cpp\samples\
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime_vc2012.vcxproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime\mime_vc2012.vcxproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64_vc2012.vcxproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime\mime_base64\mime_base64_vc2012.vcxproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp_vc2012.vcxproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime\mime_qp\mime_qp_vc2012.vcxproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rfc2047", "lib_acl_cpp\samples\rfc2047\rfc2047_vc2012.vcxproj", "{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}"
ProjectSection(ProjectDependencies) = postProject
@ -126,7 +126,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcache_pool", "lib_acl_cp
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp", "lib_acl_cpp\samples\master_udp\master_udp_vc2012.vcxproj", "{DE0F9993-7821-4659-B1C2-3A24DE292E87}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_udp", "lib_acl_cpp\samples\master\master_udp\master_udp_vc2012.vcxproj", "{DE0F9993-7821-4659-B1C2-3A24DE292E87}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -163,14 +163,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_request_manager", "lib
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master_aio\master_aio_vc2012.vcxproj", "{946DAF94-90C7-44F9-B24B-6B8F105A84EF}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master\master_aio\master_aio_vc2012.vcxproj", "{946DAF94-90C7-44F9-B24B-6B8F105A84EF}"
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
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{324E7B70-E11C-4A39-A11F-4BB2A8E70064}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples_acl_cpp", "samples_acl_cpp", "{324E7B70-E11C-4A39-A11F-4BB2A8E70064}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "aio", "aio", "{02535D96-1693-4AA3-B650-B22DC776FDC2}"
EndProject
@ -187,6 +187,11 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connect_manager", "lib_acl_cpp\samples\connect_manager\connect_manager_vc2012.vcxproj", "{A76344E8-D8EF-4E0D-9A01-73DB25B5B76E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dircopy", "lib_acl_cpp\samples\dircopy\dircopy_vc2012.vcxproj", "{98BB9F33-AFC3-4943-8855-4D253B87F8F1}"
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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scan_dir", "lib_acl_cpp\samples\scan_dir\scan_dir_vc2012.vcxproj", "{8A5563B4-C546-46D0-9C64-D051CA29F164}"
ProjectSection(ProjectDependencies) = postProject
@ -219,14 +224,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cgi_upload", "lib_acl_cpp\s
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl_client\ssl_client_vc2012.vcxproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl\ssl_client\ssl_client_vc2012.vcxproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_server", "lib_acl_cpp\samples\ssl_server\ssl_server_vc2012.vcxproj", "{B8ADBED2-0FFC-49F7-A8AE-A42CE262166D}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_server", "lib_acl_cpp\samples\ssl\ssl_server\ssl_server_vc2012.vcxproj", "{B8ADBED2-0FFC-49F7-A8AE-A42CE262166D}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
@ -251,6 +256,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blank_line", "lib_acl_cpp\s
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ssl", "ssl", "{3A25DC67-2832-4912-8FD5-66E499E38F11}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zdb", "lib_acl\samples\zdb\zdb_vc2012.vcxproj", "{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples_acl", "samples_acl", "{267F658E-44AF-4080-8577-EFCE99A5E030}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples_protocol", "samples_protocol", "{7C54A0C9-3817-4BBC-BF52-4FA941FD3C69}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -925,6 +938,21 @@ Global
{DEDE0B8A-35C5-4674-A10A-BF6544F6A885}.Template|Win32.ActiveCfg = DebugDll|Win32
{DEDE0B8A-35C5-4674-A10A-BF6544F6A885}.Template|Win32.Build.0 = DebugDll|Win32
{DEDE0B8A-35C5-4674-A10A-BF6544F6A885}.Template|x64.ActiveCfg = DebugDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Debug|Win32.ActiveCfg = Debug|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Debug|Win32.Build.0 = Debug|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Debug|x64.ActiveCfg = Debug|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.DebugDll|Win32.Build.0 = DebugDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.DebugDll|x64.ActiveCfg = DebugDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Release|Win32.ActiveCfg = Release|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Release|Win32.Build.0 = Release|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Release|x64.ActiveCfg = Release|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Releasedll|x64.ActiveCfg = ReleaseDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Template|Win32.ActiveCfg = DebugDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Template|Win32.Build.0 = DebugDll|Win32
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}.Template|x64.ActiveCfg = DebugDll|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -946,6 +974,7 @@ Global
{A76344E8-D8EF-4E0D-9A01-73DB25B5B76E} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{06493E1B-DA69-4471-AF4C-6890A6D0F6EE} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{3A25DC67-2832-4912-8FD5-66E499E38F11} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{FB676B5A-D82C-45CB-9E1F-F3793419DDA9} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83} = {02535D96-1693-4AA3-B650-B22DC776FDC2}
{225D0BFA-64D7-4F8F-951E-36A494CF6178} = {02535D96-1693-4AA3-B650-B22DC776FDC2}
@ -954,8 +983,6 @@ Global
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9} = {02535D96-1693-4AA3-B650-B22DC776FDC2}
{41FA5224-3315-4CDA-9C44-19085049F179} = {716AA69D-C8D2-4274-8207-A384FC20EAF0}
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0} = {716AA69D-C8D2-4274-8207-A384FC20EAF0}
{B14C93A6-DABE-48F9-A78C-C94049B69984} = {716AA69D-C8D2-4274-8207-A384FC20EAF0}
{B8ADBED2-0FFC-49F7-A8AE-A42CE262166D} = {716AA69D-C8D2-4274-8207-A384FC20EAF0}
{C0A7DB86-EF13-4A3E-9F34-8950521C9675} = {F1ABE59F-D95A-4CD5-92A2-6A1622E63BAB}
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C} = {F1ABE59F-D95A-4CD5-92A2-6A1622E63BAB}
{312366B1-8882-4491-94F6-E105A19C63EF} = {F1ABE59F-D95A-4CD5-92A2-6A1622E63BAB}
@ -977,7 +1004,10 @@ Global
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE} = {06493E1B-DA69-4471-AF4C-6890A6D0F6EE}
{0FD53805-522C-4A04-938A-F05C1553828B} = {06493E1B-DA69-4471-AF4C-6890A6D0F6EE}
{DEDE0B8A-35C5-4674-A10A-BF6544F6A885} = {06493E1B-DA69-4471-AF4C-6890A6D0F6EE}
{B8ADBED2-0FFC-49F7-A8AE-A42CE262166D} = {3A25DC67-2832-4912-8FD5-66E499E38F11}
{B14C93A6-DABE-48F9-A78C-C94049B69984} = {3A25DC67-2832-4912-8FD5-66E499E38F11}
{D1F030D1-36F7-4440-9801-42E31E767A52} = {FB676B5A-D82C-45CB-9E1F-F3793419DDA9}
{2495A6D4-777F-48BF-99C0-702E4A11FD23} = {FB676B5A-D82C-45CB-9E1F-F3793419DDA9}
{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34} = {267F658E-44AF-4080-8577-EFCE99A5E030}
EndGlobalSection
EndGlobal

View File

@ -1,5 +1,8 @@
修改历史列表:
------------------------------------------------------------------------
77) 2014.12.1
77.1) 整理工程,将例子按功能进行分类
76) 2014.11.30
76.1) 将 samples 目录下的示例分别移动至 lib_acl 及 lib_protocol 目录下

View File

@ -1,6 +1,25 @@
修改历史列表:
------------------------------------------------------------------------
473) 2014.12.6
473.1) feature: acl_msg.c 中的 acl_msg_error/warn/fatal/panic 支持记录函数调用堆栈
472) 2014.12.5
472.1) feature: acl_vstream.c 中循环写函数(loop_writen)支持超时写功能,即当设置了
写超时后,会检查每次写后的数据长度是否小于要求的写长度,如果小于则进入写超时等待;同时该循环
写函数支持以 64KB 为单位写数据
472.2) feature: acl_threads_server.c 完善了连接使用数自动退出机制
472.3) feature: acl_threads_server.c 当采用 TCP 连接分发方式时,增加了汇报给分发器
的信息字段,以便于分发器根据这些字段决定分发的策略
471) 2014.12.4
471.1) performance: acl_vstream.c 优化了读 (__sys_read) 的性能
471.2) bugfix: acl_vstream.c 在写时有可能会造成死循环
470) 2014.12.2
470.1) bugfix: acl_vstream.c 中函数 __sys_read 的标志位 sys_read_ready 置 0
应该在 read_fn/fread_fn 函数返回后
469) 2014.11.30
469.1) bugfix: acl_aio_read.c 中的 reactor IO 方式的函数 acl_aio_enable_read
内部在某种情况下有可能不会触发读回调过程

View File

@ -53,7 +53,7 @@ ACL_API void acl_doze(unsigned delay);
/**
*
* @param fd {ACL_SOCKET}
* @return {int} 0: ; != 0:
* @return {int} 0: ; -1: 1
*/
ACL_API int acl_readable(ACL_SOCKET fd);

View File

@ -9,13 +9,12 @@ extern "C" {
*
* @param filepath {const char*}
*/
void acl_dump_strace(const char *filepath);
#define acl_dump_trace acl_dump_strace
void acl_trace_save(const char *filepath);
/**
*
*/
void acl_log_strace(void);
void acl_trace_info(void);
#ifdef __cplusplus
}

View File

@ -191,6 +191,13 @@ ACL_API int acl_pthread_pool_add_dispatch(void *dispatch_arg,
ACL_API int acl_pthread_pool_dispatch(void *dispatch_arg,
void (*run_fn)(void *), void *run_arg);
/**
* 线线
* @param thr_pool {acl_pthread_pool_t*} 线
* @return {int} 线
*/
ACL_API int acl_pthread_pool_limit(acl_pthread_pool_t *thr_pool);
/**
* 线线
* @param thr_pool {acl_pthread_pool_t*} 线

View File

@ -0,0 +1,192 @@
<?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>{640ABB35-FBD3-4D34-A382-9ED8CF3FCE34}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>zdb</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</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'">false</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>..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)zdb.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)zdb.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\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;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)zdb.exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)zdb.exe</OutputFile>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)zdb.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)zdb.exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\lib_acl\lib_acl_vc2012.vcxproj">
<Project>{b40213c2-507c-4c7f-a6e1-b850c9bdc27b}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClInclude Include="md5.h" />
<ClInclude Include="zdb_test.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.c" />
<ClCompile Include="md5.c" />
<ClCompile Include="zdb_test.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -310,6 +310,7 @@ static void server_exit(void)
if (__server_onexit)
__server_onexit(__service_ctx);
acl_msg_info("---- SERVER EXIT NOW ----");
exit(0);
}
@ -344,13 +345,13 @@ static void server_exiting(int type acl_unused, ACL_EVENT *event, void *ctx)
acl_msg_info("%s: master disconnect -- exiting, "
"clinet: %d, threads: %d", myname, n, nthreads);
server_exit();
} else if (acl_var_threads_quick_abort) {
} else if (__aborting && acl_var_threads_quick_abort) {
acl_msg_info("%s: master disconnect -- quick exiting, "
"client: %d, threads: %d", myname, n, nthreads);
server_exit();
} else {
acl_msg_info("%s: master disconnect -- waiting exiting, "
"client: %d, threads: %d", myname, n, nthreads);
acl_msg_info("%s: waiting exiting, client: %d, threads: %d",
myname, n, nthreads);
acl_event_request_timer(event, server_exiting, ctx, 1000000, 0);
}
}
@ -389,23 +390,21 @@ static void server_abort(int event_type acl_unused, ACL_EVENT *event,
server_exiting(event_type, event, ctx);
}
static void server_use_timer(int type acl_unused,
ACL_EVENT *event, void *ctx)
static void server_use_timer(int type, ACL_EVENT *event, void *ctx)
{
int n;
const char *myname = "server_use_timer";
n = get_client_count();
if (acl_var_threads_use_limit <= 0)
acl_msg_fatal("%s: invalid acl_var_threads_use_limit: %d",
myname, acl_var_threads_use_limit);
if (n > 0 || __use_count < acl_var_threads_use_limit) {
if (__use_count >= acl_var_threads_use_limit) {
acl_msg_info("%s: use limit reached(%d, %d) -- exiting",
myname, __use_count, acl_var_threads_use_limit);
server_exiting(type, event, ctx);
} else
acl_event_request_timer(event, server_use_timer, ctx,
(acl_int64) __use_limit_delay * 1000000, 0);
return;
}
if (acl_msg_verbose)
acl_msg_info("use limit -- exiting");
server_exit();
}
typedef struct {
@ -839,7 +838,6 @@ static ACL_VSTREAM *__dispatch_conn = NULL;
static int dispatch_report(void)
{
const char *myname = "dispatch_report";
int n;
char buf[256];
if (__dispatch_conn == NULL) {
@ -848,10 +846,14 @@ static int dispatch_report(void)
return -1;
}
n = get_client_count();
snprintf(buf, sizeof(buf), "count=%d&used=%d&pid=%u&type=%s\r\n",
n, __use_count, (unsigned) getpid(),
acl_var_threads_dispatch_type);
snprintf(buf, sizeof(buf), "count=%d&used=%d&pid=%u&type=%s"
"&max_threads=%d&curr_threads=%d&busy_threads=%d&qlen=%d\r\n",
get_client_count(), __use_count, (unsigned) getpid(),
acl_var_threads_dispatch_type,
acl_pthread_pool_limit(__threads),
acl_pthread_pool_size(__threads),
acl_pthread_pool_busy(__threads),
acl_pthread_pool_qlen(__threads));
if (acl_vstream_writen(__dispatch_conn, buf, strlen(buf))
== ACL_VSTREAM_EOF)

View File

@ -88,6 +88,7 @@ void acl_msg_open2(ACL_VSTREAM *fp, const char *info_pre)
} else {
acl_log_fp_set(fp, info_pre);
}
__log_open_flag = 1;
}
@ -185,6 +186,7 @@ void acl_msg_info2(const char *fmt, va_list ap)
printf("\r\n");
}
}
void acl_msg_warn(const char *fmt,...)
{
va_list ap;
@ -211,7 +213,9 @@ void acl_msg_warn(const char *fmt,...)
}
va_end (ap);
acl_trace_info();
}
void acl_msg_warn2(const char *fmt, va_list ap)
{
if (__pre_write_fn)
@ -231,7 +235,10 @@ void acl_msg_warn2(const char *fmt, va_list ap)
vprintf(fmt, ap);
printf("\r\n");
}
acl_trace_info();
}
void acl_msg_error(const char *fmt,...)
{
va_list ap;
@ -257,7 +264,9 @@ void acl_msg_error(const char *fmt,...)
}
va_end (ap);
acl_trace_info();
}
void acl_msg_error2(const char *fmt, va_list ap)
{
if (__pre_write_fn)
@ -277,7 +286,10 @@ void acl_msg_error2(const char *fmt, va_list ap)
vprintf(fmt, ap);
printf("\r\n");
}
acl_trace_info();
}
void acl_msg_fatal(const char *fmt,...)
{
va_list ap;
@ -304,7 +316,7 @@ void acl_msg_fatal(const char *fmt,...)
}
va_end (ap);
acl_log_strace();
acl_trace_info();
acl_close_log();
acl_assert(0);
}
@ -328,7 +340,8 @@ void acl_msg_fatal2(const char *fmt, va_list ap)
vprintf(fmt, ap);
printf("\r\n");
}
acl_log_strace();
acl_trace_info();
acl_close_log();
acl_assert(0);
}
@ -356,7 +369,7 @@ void acl_msg_fatal_status(int status, const char *fmt,...)
}
va_end (ap);
acl_log_strace();
acl_trace_info();
acl_close_log();
acl_assert(0);
}
@ -379,7 +392,7 @@ void acl_msg_fatal_status2(int status, const char *fmt, va_list ap)
printf("\r\n");
}
acl_log_strace();
acl_trace_info();
acl_close_log();
acl_assert(0);
}
@ -409,8 +422,7 @@ void acl_msg_panic(const char *fmt,...)
}
va_end (ap);
acl_log_strace();
acl_trace_info();
acl_close_log();
acl_assert(0);
}
@ -435,7 +447,7 @@ void acl_msg_panic2(const char *fmt, va_list ap)
printf("\r\n");
}
acl_log_strace();
acl_trace_info();
acl_close_log();
acl_assert(0);
}
@ -534,14 +546,15 @@ const char *acl_last_serror(void)
int acl_last_error(void)
{
#ifdef WIN32
int error;
#ifdef WIN32
error = WSAGetLastError();
WSASetLastError(error);
#endif
error = errno;
return error;
#else
return errno;
#endif
}
void acl_set_error(int errnum)

View File

@ -52,7 +52,7 @@ static unsigned char __vstream_stdin_buf[ACL_VSTREAM_BUFSIZE];
static unsigned char __vstream_stdout_buf[ACL_VSTREAM_BUFSIZE];
static unsigned char __vstream_stderr_buf[ACL_VSTREAM_BUFSIZE];
static int __sys_getc(ACL_VSTREAM *fp);
static int read_char(ACL_VSTREAM *fp);
ACL_VSTREAM acl_vstream_fstd[] = {
{
@ -93,7 +93,7 @@ ACL_VSTREAM acl_vstream_fstd[] = {
NULL, /* path */
NULL, /* context */
NULL, /* close_handle_lnk */
__sys_getc, /* sys_getc */
read_char, /* sys_getc */
acl_socket_read, /* read_fn */
NULL, /* write_fn */
NULL, /* writev_fn */
@ -150,7 +150,7 @@ ACL_VSTREAM acl_vstream_fstd[] = {
NULL, /* path */
NULL, /* context */
NULL, /* close_handle_lnk */
__sys_getc, /* sys_getc */
read_char, /* sys_getc */
NULL, /* read_fn */
acl_socket_write, /* write_fn */
acl_socket_writev, /* writev_fn */
@ -206,7 +206,7 @@ ACL_VSTREAM acl_vstream_fstd[] = {
NULL, /* path */
NULL, /* context */
NULL, /* close_handle_lnk */
__sys_getc, /* sys_getc */
read_char, /* sys_getc */
NULL, /* read_fn */
acl_socket_write, /* write_fn */
acl_socket_writev, /* writev_fn */
@ -250,9 +250,10 @@ void acl_vstream_init()
#endif
}
static int __sys_read(ACL_VSTREAM *in, void *buf, size_t size)
static int sys_read(ACL_VSTREAM *in, void *buf, size_t size)
{
int read_cnt;
const char *myname = "sys_read";
int read_cnt, nagain = 0;
if (in->type == ACL_VSTREAM_TYPE_FILE) {
if (ACL_VSTREAM_FILE(in) == ACL_FILE_INVALID) {
@ -273,19 +274,24 @@ AGAIN:
/* 清除系统错误号 */
acl_set_error(0);
/* Çå³ý¿É¶Á±ê־λ */
in->sys_read_ready = 0;
if (in->type == ACL_VSTREAM_TYPE_FILE) {
read_cnt = in->fread_fn(ACL_VSTREAM_FILE(in), buf, size,
in->rw_timeout, in, in->context);
in->sys_read_ready ? 0 : in->rw_timeout,
in, in->context);
if (in->read_cnt > 0)
in->sys_offset += in->read_cnt;
} else {
/* 如果由事件引擎设置了套接字有数据可读,则将超时时间设 0
*
*/
read_cnt = in->read_fn(ACL_VSTREAM_SOCK(in), buf, size,
in->rw_timeout, in, in->context);
in->sys_read_ready ? 0 : in->rw_timeout,
in, in->context);
}
/* 清除可读标志位 */
in->sys_read_ready = 0;
if (read_cnt > 0) {
in->read_ptr = in->read_buf;
in->flag &= ~ACL_VSTREAM_FLAG_BAD;
@ -305,12 +311,24 @@ AGAIN:
in->errnum = acl_last_error();
if (in->errnum == ACL_EINTR)
goto AGAIN;
else if (in->errnum == ACL_ETIMEDOUT) {
if (in->errnum == ACL_EINTR) {
if (nagain++ < 5)
goto AGAIN;
acl_msg_error("%s(%d), %s: nagain: %d too much, fd: %d",
__FILE__, __LINE__, myname, nagain,
in->type == ACL_VSTREAM_TYPE_FILE ?
(int) ACL_VSTREAM_FILE(in) : ACL_VSTREAM_SOCK(in));
} else if (in->errnum == ACL_ETIMEDOUT) {
in->flag |= ACL_VSTREAM_FLAG_TIMEOUT;
SAFE_COPY(in->errbuf, "read timeout");
} else if (in->errnum != ACL_EWOULDBLOCK && in->errnum != ACL_EAGAIN) {
}
#if ACL_EWOULDBLOCK == ACL_EAGAIN
else if (in->errnum != ACL_EWOULDBLOCK)
#else
else if (in->errnum != ACL_EWOULDBLOCK && in->errnum != ACL_EAGAIN)
#endif
{
in->flag |= ACL_VSTREAM_FLAG_ERR;
acl_strerror(in->errnum, in->errbuf, sizeof(in->errbuf));
}
@ -318,9 +336,9 @@ AGAIN:
return -1;
}
static int __vstream_read(ACL_VSTREAM *fp)
static int read_once(ACL_VSTREAM *fp)
{
fp->read_cnt = __sys_read(fp, fp->read_buf, (size_t) fp->read_buf_len);
fp->read_cnt = sys_read(fp, fp->read_buf, (size_t) fp->read_buf_len);
if (fp->read_cnt < 0) {
fp->read_cnt = 0;
@ -329,9 +347,9 @@ static int __vstream_read(ACL_VSTREAM *fp)
return fp->read_cnt;
}
static int __sys_getc(ACL_VSTREAM *fp)
static int read_char(ACL_VSTREAM *fp)
{
fp->read_cnt = __vstream_read(fp);
fp->read_cnt = read_once(fp);
if (fp->read_cnt <= 0)
return ACL_VSTREAM_EOF;
else
@ -342,7 +360,7 @@ int acl_vstream_getc(ACL_VSTREAM *fp)
{
if (fp == NULL)
return ACL_VSTREAM_EOF;
if (fp->read_cnt <= 0 && __vstream_read(fp) <= 0)
if (fp->read_cnt <= 0 && read_once(fp) <= 0)
return ACL_VSTREAM_EOF;
fp->read_cnt--;
@ -412,7 +430,7 @@ int acl_vstream_nonb_readn(ACL_VSTREAM *fp, char *buf, int size)
fp->rw_timeout = 0;
fp->errnum = 0;
read_cnt = __vstream_read(fp);
read_cnt = read_once(fp);
fp->rw_timeout = rw_timeout;
@ -710,22 +728,22 @@ int acl_vstream_gets(ACL_VSTREAM *fp, void *vptr, size_t maxlen)
int acl_vstream_readtags(ACL_VSTREAM *fp, void *vptr, size_t maxlen,
const char *tag, size_t taglen)
{
int n, ch, flag_match = 0;
int n, ch, matched = 0;
unsigned char *ptr;
const unsigned char *ptr_haystack;
const unsigned char *ptr_needle, *ptr_needle_end;
const unsigned char *haystack;
const unsigned char *needle, *needle_end;
if (fp == NULL || vptr == NULL || maxlen <= 0
|| tag == NULL || taglen <= 0)
return ACL_VSTREAM_EOF;
ptr_needle_end = (const unsigned char *) tag;
needle_end = (const unsigned char *) tag;
while(1) {
taglen--;
if (taglen == 0)
break;
ptr_needle_end++;
needle_end++;
}
ptr = (unsigned char *) vptr;
@ -748,29 +766,29 @@ int acl_vstream_readtags(ACL_VSTREAM *fp, void *vptr, size_t maxlen,
}
*ptr = ch;
if (ch == *ptr_needle_end) {
ptr_haystack = ptr - 1;
ptr_needle = ptr_needle_end - 1;
flag_match = 0;
if (ch == *needle_end) {
haystack = ptr - 1;
needle = needle_end - 1;
matched = 0;
while(1) {
/* 已经成功比较完毕(匹配) */
if (ptr_needle < (const unsigned char *) tag) {
flag_match = 1;
if (needle < (const unsigned char *) tag) {
matched = 1;
break;
}
/* 原字符串用完而匹配串还没有比较完(不匹配) */
if (ptr_haystack < (unsigned char *) vptr)
if (haystack < (unsigned char *) vptr)
break;
/* 不相等(不匹配) */
if (*ptr_haystack != *ptr_needle)
if (*haystack != *needle)
break;
ptr_haystack--;
ptr_needle--;
haystack--;
needle--;
}
}
ptr++;
if (flag_match) {
if (matched) {
fp->flag |= ACL_VSTREAM_FLAG_TAGYES;
fp->flag &= ~ACL_VSTREAM_FLAG_TAGNO;
break;
@ -855,7 +873,7 @@ int acl_vstream_readn(ACL_VSTREAM *fp, void *buf, size_t size)
if (size_saved < (size_t) fp->read_buf_len / 4) {
while (size > 0) {
if (__vstream_read(fp) <= 0)
if (read_once(fp) <= 0)
return ACL_VSTREAM_EOF;
n = acl_vstream_bfcp_some(fp, ptr, size);
ptr += n;
@ -863,7 +881,7 @@ int acl_vstream_readn(ACL_VSTREAM *fp, void *buf, size_t size)
}
} else {
while (size > 0) {
n = __sys_read(fp, ptr, size);
n = sys_read(fp, ptr, size);
if (n <= 0)
return ACL_VSTREAM_EOF;
size -= n;
@ -892,7 +910,7 @@ int acl_vstream_read(ACL_VSTREAM *fp, void *buf, size_t size)
/* fp->read_cnt == 0 */
else {
int read_cnt = __sys_read(fp, buf, size);
int read_cnt = sys_read(fp, buf, size);
return read_cnt <= 0 ? ACL_VSTREAM_EOF : read_cnt;
}
}
@ -969,7 +987,7 @@ int acl_vstream_gets_peek(ACL_VSTREAM *fp, ACL_VSTRING *buf, int *ready)
*/
if (fp->sys_read_ready) {
if (__vstream_read(fp) <= 0) {
if (read_once(fp) <= 0) {
n = LEN(buf) - n;
return n > 0 ? n : ACL_VSTREAM_EOF;
}
@ -1036,7 +1054,7 @@ int acl_vstream_gets_nonl_peek(ACL_VSTREAM *fp, ACL_VSTRING *buf, int *ready)
*/
if (fp->sys_read_ready) {
if (__vstream_read(fp) <= 0) {
if (read_once(fp) <= 0) {
n = LEN(buf) - n;
return n > 0 ? n : ACL_VSTREAM_EOF;
@ -1100,7 +1118,7 @@ int acl_vstream_readn_peek(ACL_VSTREAM *fp, ACL_VSTRING *buf,
*/
if (fp->sys_read_ready) {
if (__vstream_read(fp) <= 0) {
if (read_once(fp) <= 0) {
int n = cnt_saved - cnt;
return n > 0 ? n : ACL_VSTREAM_EOF;
}
@ -1148,7 +1166,7 @@ int acl_vstream_read_peek(ACL_VSTREAM *fp, ACL_VSTRING *buf)
*/
if (fp->sys_read_ready) {
if (__vstream_read(fp) <= 0) {
if (read_once(fp) <= 0) {
n = LEN(buf) - n;
return n > 0 ? n : ACL_VSTREAM_EOF;
}
@ -1174,7 +1192,7 @@ int acl_vstream_can_read(ACL_VSTREAM *fp)
else if (fp->sys_read_ready == 0)
return 0;
else if ((fp->flag & ACL_VSTREAM_FLAG_PREREAD) != 0) {
if (__vstream_read(fp) <= 0)
if (read_once(fp) <= 0)
return ACL_VSTREAM_EOF;
else
return 1;
@ -1183,9 +1201,9 @@ int acl_vstream_can_read(ACL_VSTREAM *fp)
return 1;
}
static int __vstream_write(ACL_VSTREAM *fp, const void *vptr, int dlen)
static int write_once(ACL_VSTREAM *fp, const void *vptr, int dlen)
{
const char *myname = "__vstream_write";
const char *myname = "write_once";
int n, neintr = 0;
if (fp == NULL || vptr == NULL || dlen <= 0) {
@ -1219,6 +1237,9 @@ static int __vstream_write(ACL_VSTREAM *fp, const void *vptr, int dlen)
TAG_AGAIN:
/* 清除系统错误号 */
acl_set_error(0);
if (fp->type == ACL_VSTREAM_TYPE_FILE) {
if ((fp->oflags & O_APPEND)) {
#ifdef WIN32
@ -1264,7 +1285,7 @@ TAG_AGAIN:
fp->rw_timeout, fp, fp->context);
}
if (n >= 0) {
if (n > 0) {
fp->total_write_cnt += n;
return n;
}
@ -1295,9 +1316,9 @@ TAG_AGAIN:
return ACL_VSTREAM_EOF;
}
static int __vstream_writev(ACL_VSTREAM *fp, const struct iovec *vec, int count)
static int writev_once(ACL_VSTREAM *fp, const struct iovec *vec, int count)
{
const char *myname = "__vstream_writev";
const char *myname = "writev_once";
int n, neintr = 0;
if (fp == NULL || vec == NULL || count <= 0) {
@ -1382,7 +1403,7 @@ TAG_AGAIN:
fp->rw_timeout, fp, fp->context);
}
if (n >= 0) {
if (n > 0) {
fp->total_write_cnt += n;
return n;
}
@ -1396,7 +1417,11 @@ TAG_AGAIN:
goto TAG_AGAIN;
}
#if ACL_EAGAIN == ACL_EWOULDBLOCK
if (fp->errnum == ACL_EAGAIN)
#else
if (fp->errnum == ACL_EAGAIN || fp->errnum == ACL_EWOULDBLOCK)
#endif
acl_set_error(ACL_EAGAIN);
else
fp->flag |= ACL_VSTREAM_FLAG_ERR;
@ -1410,7 +1435,7 @@ int acl_vstream_write(ACL_VSTREAM *fp, const void *vptr, int dlen)
if (acl_vstream_fflush(fp) == ACL_VSTREAM_EOF)
return ACL_VSTREAM_EOF;
}
return __vstream_write(fp, vptr, dlen);
return write_once(fp, vptr, dlen);
}
int acl_vstream_writev(ACL_VSTREAM *fp, const struct iovec *vec, int count)
@ -1419,7 +1444,7 @@ int acl_vstream_writev(ACL_VSTREAM *fp, const struct iovec *vec, int count)
if (acl_vstream_fflush(fp) == ACL_VSTREAM_EOF)
return ACL_VSTREAM_EOF;
}
return __vstream_writev(fp, vec, count);
return writev_once(fp, vec, count);
}
int acl_vstream_writevn(ACL_VSTREAM *fp, const struct iovec *vec, int count)
@ -1445,7 +1470,7 @@ int acl_vstream_writevn(ACL_VSTREAM *fp, const struct iovec *vec, int count)
dlen = 0;
while (1) {
n = __vstream_writev(fp, vect, count);
n = writev_once(fp, vect, count);
if (n == ACL_VSTREAM_EOF) {
acl_myfree(vect);
return ACL_VSTREAM_EOF;
@ -1588,25 +1613,42 @@ int acl_vstream_puts(const char *s)
return acl_vstream_fputs(s, ACL_VSTREAM_OUT);
}
static int __loop_writen(ACL_VSTREAM *fp, const void *vptr, size_t dlen)
static int loop_writen(ACL_VSTREAM *fp, const void *vptr, size_t size)
{
const unsigned char *ptr;
int n;
const char *myname = "loop_writen";
const unsigned char *ptr = (const unsigned char *) vptr;
int once_dlen = 64 * 1024 * 1024; /* xxx: 以 64KB 为单位写 */
int nleft = (int) size, n, len;
time_t begin, end;
ACL_SOCKET fd = ACL_VSTREAM_SOCK(fp);
ptr = (const unsigned char *) vptr;
while (dlen > 0) {
n = __vstream_write(fp, ptr, dlen);
if (n <= 0) {
if (acl_last_error() == ACL_EINTR
|| acl_last_error() == ACL_EAGAIN)
{
continue;
}
while (nleft > 0) {
len = nleft > once_dlen ? once_dlen : nleft;
n = write_once(fp, ptr, len);
if (n < 0)
return ACL_VSTREAM_EOF;
}
dlen -= n;
nleft -= n;
ptr += n;
if (n == len || fp->writev_fn == NULL || fp->rw_timeout <= 0)
continue;
/* 对于套接口写操作,如果一次性写没有写完,可能是系统写缓冲区满,
*
*/
begin = time(NULL);
if (acl_write_wait(fd, fp->rw_timeout) == 0)
continue;
end = time(NULL);
acl_msg_error("%s(%d), %s: acl_write_wait error,"
"size: %d, nleft: %d, peer: %s, fd: %d,"
" timeout: %d, cost: %ld", __FILE__, __LINE__,
myname, (int) size, nleft, ACL_VSTREAM_PEER(fp), fd,
fp->rw_timeout, end - begin);
return ACL_VSTREAM_EOF;
}
return ptr - (const unsigned char *) vptr;
@ -1621,7 +1663,7 @@ int acl_vstream_writen(ACL_VSTREAM *fp, const void *vptr, size_t dlen)
if (acl_vstream_fflush(fp) == ACL_VSTREAM_EOF)
return ACL_VSTREAM_EOF;
}
return __loop_writen(fp, vptr, dlen);
return loop_writen(fp, vptr, dlen);
}
int acl_vstream_buffed_writen(ACL_VSTREAM *fp, const void *vptr, size_t dlen)
@ -1637,7 +1679,7 @@ int acl_vstream_buffed_writen(ACL_VSTREAM *fp, const void *vptr, size_t dlen)
if (dlen >= (size_t) fp->wbuf_size) {
if (acl_vstream_fflush(fp) == ACL_VSTREAM_EOF)
return ACL_VSTREAM_EOF;
else if (__loop_writen(fp, vptr, dlen) == ACL_VSTREAM_EOF)
else if (loop_writen(fp, vptr, dlen) == ACL_VSTREAM_EOF)
return ACL_VSTREAM_EOF;
else
return dlen;
@ -1804,36 +1846,22 @@ void acl_vstream_buffed_space(ACL_VSTREAM *fp)
int acl_vstream_fflush(ACL_VSTREAM *fp)
{
const char *myname = "acl_vstream_fflush";
unsigned char *ptr;
int n;
if (fp == NULL) {
acl_msg_error("%s(%d): fp null", myname, __LINE__);
return ACL_VSTREAM_EOF;
} else if (fp->wbuf == NULL || fp->wbuf_dlen == 0)
} else if (fp->wbuf == NULL || fp->wbuf_dlen <= 0)
return 0;
ptr = fp->wbuf;
while (fp->wbuf_dlen > 0) {
n = __vstream_write(fp, ptr, (int) fp->wbuf_dlen);
if (n <= 0) {
if (acl_last_error() == ACL_EINTR
|| acl_last_error() == ACL_EAGAIN)
{
continue;
}
return ACL_VSTREAM_EOF;
}
n = loop_writen(fp, fp->wbuf, fp->wbuf_dlen);
if (n > 0) {
fp->wbuf_dlen -= n;
ptr += n;
if (fp->wbuf_dlen < 0)
acl_msg_fatal("%s(%d): wbuf_dlen(%d) < 0",
myname, __LINE__, fp->wbuf_dlen);
}
if (fp->wbuf_dlen < 0)
acl_msg_fatal("%s(%d): wbuf_dlen(%d) < 0",
myname, __LINE__, (int) fp->wbuf_dlen);
return ptr - fp->wbuf;
return n;
}
int acl_vstream_peekfd(ACL_VSTREAM *fp)
@ -1935,7 +1963,7 @@ ACL_VSTREAM *acl_vstream_fdopen(ACL_SOCKET fd, unsigned int oflags,
if (rw_timeo > 0)
fp->rw_timeout = rw_timeo;
fp->sys_getc = __sys_getc;
fp->sys_getc = read_char;
if (fdtype == ACL_VSTREAM_TYPE_FILE) {
fp->fread_fn = acl_file_read;
fp->fwrite_fn = acl_file_write;

View File

@ -22,114 +22,107 @@
#include "stdlib/acl_iostuff.h"
#include "../../init/init.h"
static int select_read_wait(ACL_SOCKET fd, int timeout)
{
fd_set read_fds;
fd_set except_fds;
struct timeval tv;
struct timeval *tp;
#ifdef WIN32
int errnum;
#endif
#ifdef ACL_UNIX
/*
* Sanity checks.
*/
if (FD_SETSIZE <= (unsigned) fd)
acl_msg_panic("descriptor %d does not fit FD_SETSIZE %d",
fd, FD_SETSIZE);
#endif
/*
* Guard the write() with select() so we do not depend on alarm() and on
* signal() handlers. Restart the select when interrupted by some signal.
* Some select() implementations may reduce the time to wait when
* interrupted, which is exactly what we want.
*/
FD_ZERO(&read_fds);
FD_SET(fd, &read_fds);
FD_ZERO(&except_fds);
FD_SET(fd, &except_fds);
if (timeout >= 0) {
tv.tv_usec = 0;
tv.tv_sec = timeout;
tp = &tv;
} else {
tp = 0;
}
for (;;) {
switch (select(fd + 1, (fd_set *) &read_fds, (fd_set *) 0, &except_fds, tp)) {
case -1:
#ifdef WIN32
errnum = WSAGetLastError();
if (errnum != WSAEINPROGRESS && errnum != WSAEWOULDBLOCK) {
acl_msg_error("select error");
return (-1);
}
#else
if (acl_last_error() != ACL_EINTR) {
char tbuf[256];
acl_msg_error("%s(%d): select error(%s)",
__FILE__, __LINE__,
acl_last_strerror(tbuf, sizeof(tbuf)));
return (-1);
}
#endif
continue;
case 0:
acl_set_error(ACL_ETIMEDOUT);
return (-1);
default:
return (0);
}
}
}
#ifdef ACL_UNIX
#include <stdio.h>
static int poll_read_wait(ACL_SOCKET fd, int timeout)
int acl_read_wait(ACL_SOCKET fd, int timeout)
{
const char *myname = "poll_read_wait";
const char *myname = "acl_read_wait";
struct pollfd fds;
int delay = timeout * 1000;
fds.events = POLLIN | POLLHUP | POLLERR;
fds.fd = fd;
acl_set_error(0);
for (;;) {
switch (poll(&fds, 1, delay)) {
case -1:
if (acl_last_error() != ACL_EINTR) {
char tbuf[256];
acl_msg_error("%s: poll error(%s)", myname,
acl_last_strerror(tbuf, sizeof(tbuf)));
return (-1);
}
continue;
if (acl_last_error() == ACL_EINTR)
continue;
acl_msg_error("%s(%d), %s: poll error(%s), fd: %d",
__FILE__, __LINE__, myname,
acl_last_serror(), (int) fd);
return -1;
case 0:
acl_set_error(ACL_ETIMEDOUT);
return (-1);
return -1;
default:
if ((fds.revents & (POLLHUP | POLLERR))
|| !(fds.revents & POLLIN))
{
return (-1);
}
return (0);
if (fds.revents & (POLLHUP | POLLERR))
return -1;
else if ((fds.revents & POLLIN))
return 0;
else
return -1;
}
}
}
#endif
#else
int acl_read_wait(ACL_SOCKET fd, int timeout)
{
#ifdef ACL_UNIX
if (__acl_var_use_poll)
return (poll_read_wait(fd, timeout));
#endif
const char *myname = "acl_read_wait";
fd_set rfds, xfds;
struct timeval tv;
struct timeval *tp;
int errnum;
return (select_read_wait(fd, timeout));
/*
* Sanity checks.
*/
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);
/*
* Guard the write() with select() so we do not depend on alarm()
* and on signal() handlers. Restart the select when interrupted
* by some signal. Some select() implementations may reduce the
* time to wait when interrupted, which is exactly what we want.
*/
FD_ZERO(&rfds);
FD_SET(fd, &rfds);
FD_ZERO(&xfds);
FD_SET(fd, &xfds);
if (timeout >= 0) {
tv.tv_usec = 0;
tv.tv_sec = timeout;
tp = &tv;
} else
tp = 0;
acl_set_error(0);
for (;;) {
switch (select(fd + 1, &rfds, (fd_set *) 0, &xfds, tp)) {
case -1:
errnum = acl_last_error();
#ifdef WIN32
if (errnum == WSAEINPROGRESS
|| errnum == WSAEWOULDBLOCK
|| errnum == ACL_EINTR)
{
continue;
}
#else
if (errnum == ACL_EINTR)
continue;
#endif
acl_msg_error("%s(%d), %s: select error(%s), fd: %d",
__FILE__, __LINE__, myname,
acl_last_serror(), (int) fd);
return -1;
case 0:
acl_set_error(ACL_ETIMEDOUT);
return -1;
default:
return 0;
}
}
}
#endif

View File

@ -14,6 +14,7 @@
#ifdef ACL_UNIX
# include <sys/time.h>
# include <poll.h>
#endif
#include <string.h>
@ -28,45 +29,99 @@
/* acl_readable - see if file descriptor is readable */
#ifdef ACL_UNIX
int acl_readable(ACL_SOCKET fd)
{
const char *myname = "poll_read_wait";
struct pollfd fds;
int delay = 0;
fds.events = POLLIN | POLLHUP | POLLERR;
fds.fd = fd;
acl_set_error(0);
for (;;) {
switch (poll(&fds, 1, delay)) {
case -1:
if (acl_last_error() == ACL_EINTR)
continue;
acl_msg_error("%s(%d), %s: poll error(%s), fd: %d",
__FILE__, __LINE__, myname,
acl_last_serror(), (int) fd);
return -1;
case 0:
return 0;
default:
if (fds.revents & (POLLHUP | POLLERR))
return -1;
else if ((fds.revents & POLLIN))
return 1;
else
return 0;
}
}
}
#else
int acl_readable(ACL_SOCKET fd)
{
const char *myname = "acl_readable";
struct timeval tv;
fd_set read_fds;
fd_set except_fds;
fd_set rfds, xfds;
int errnum;
/*
* Sanity checks.
*/
if ((unsigned) fd >= FD_SETSIZE)
acl_msg_fatal("fd %d does not fit in FD_SETSIZE", fd);
acl_msg_fatal("%s(%d), %s: fd %d does not fit in "
"FD_SETSIZE: %d", __FILE__, __LINE__, myname,
(int) fd, FD_SETSIZE);
/*
* Initialize.
*/
FD_ZERO(&read_fds);
FD_SET(fd, &read_fds);
FD_ZERO(&except_fds);
FD_SET(fd, &except_fds);
FD_ZERO(&rfds);
FD_SET(fd, &rfds);
FD_ZERO(&xfds);
FD_SET(fd, &xfds);
tv.tv_sec = 0;
tv.tv_usec = 0;
acl_set_error(0);
/*
* Loop until we have an authoritative answer.
*/
for (;;) {
switch (select(fd + 1, &read_fds,
(fd_set *) 0, &except_fds, &tv)) {
switch (select(fd + 1, &rfds, (fd_set *) 0, &xfds, &tv)) {
case -1:
if (acl_last_error() != ACL_EINTR) {
char tbuf[256];
acl_msg_fatal("select: %s", acl_last_strerror(tbuf, sizeof(tbuf)));
errnum = acl_last_error();
#ifdef WIN32
if (errnum == WSAEINPROGRESS
|| errnum == WSAEWOULDBLOCK
|| errnum == ACL_EINTR)
{
continue;
}
continue;
default:
return (FD_ISSET(fd, &read_fds));
#else
if (errnum == ACL_EINTR)
continue;
#endif
acl_msg_error("%s(%d), %s: select error(%s), fd: %d",
__FILE__, __LINE__, myname,
acl_last_serror(), (int) fd);
return -1;
case 0:
return (0);
return 0;
default:
return FD_ISSET(fd, &rfds);
}
}
}
#endif

View File

@ -26,25 +26,23 @@
/* acl_timed_read - read with deadline */
int acl_timed_read(ACL_SOCKET fd, void *buf, unsigned len,
int timeout, void *unused_context acl_unused)
int timeout, void *context acl_unused)
{
int ret;
/*
* Wait for a limited amount of time for something to happen. If nothing
* happens, report an ETIMEDOUT error.
* Wait for a limited amount of time for something to happen.
* If nothing happens, report an ETIMEDOUT error.
*
* XXX Solaris 8 read() fails with EAGAIN after read-select() returns
* success.
* XXX Solaris 8 read() fails with EAGAIN after read-select()
* returns success.
*/
for (;;) {
if (timeout > 0 &&
acl_read_wait(fd, timeout) < 0)
{
if (timeout > 0 && acl_read_wait(fd, timeout) < 0)
return -1;
}
ret = acl_socket_read(fd, buf, len, 0, NULL, NULL);
if (ret < 0 && timeout > 0 && acl_last_error() == ACL_EAGAIN) {
if (ret < 0 && timeout > 0 && acl_last_error() == ACL_EAGAIN)
{
acl_msg_warn("read() returns EAGAIN on"
" a readable file descriptor!");
acl_msg_warn("pausing to avoid going into"

View File

@ -26,28 +26,29 @@
/* acl_timed_write - write with deadline */
int acl_timed_write(ACL_SOCKET fd, void *buf, unsigned len,
int timeout, void *unused_context acl_unused)
int timeout, void *context acl_unused)
{
int ret;
/*
* Wait for a limited amount of time for something to happen. If nothing
* happens, report an ETIMEDOUT error.
* Wait for a limited amount of time for something to happen.
* If nothing happens, report an ETIMEDOUT error.
*
* XXX Solaris 8 read() fails with EAGAIN after read-select() returns
* success. The code below exists just in case their write implementation
* is equally broken.
* XXX Solaris 8 read() fails with EAGAIN after read-select()
* returns success. The code below exists just in case their
* write implementation is equally broken.
*
* This condition may also be found on systems where select() returns
* success on pipes with less than PIPE_BUF bytes of space, and with
* badly designed software where multiple writers are fighting for access
* to the same resource.
* This condition may also be found on systems where select()
* returns success on pipes with less than PIPE_BUF bytes of
* space, and with badly designed software where multiple writers
* are fighting for access to the same resource.
*/
for (;;) {
if (timeout > 0 && acl_write_wait(fd, timeout) < 0)
return -1;
ret = acl_socket_write(fd, buf, len, 0, NULL, NULL);
if (ret < 0 && timeout > 0 && acl_last_error() == ACL_EAGAIN) {
if (ret < 0 && timeout > 0 && acl_last_error() == ACL_EAGAIN)
{
acl_msg_warn("write() returns EAGAIN on"
" a writable file descriptor!");
acl_msg_warn("pausing to avoid going into"

View File

@ -23,117 +23,113 @@
#include "stdlib/acl_iostuff.h"
#include "../../init/init.h"
static int select_write_wait(ACL_SOCKET fd, int timeout)
{
const char *myname = "select_write_wait";
fd_set write_fds;
fd_set except_fds;
struct timeval tv;
struct timeval *tp;
char buf[256];
#ifdef WIN32
int errnum;
#endif
#ifdef ACL_UNIX
/*
* Sanity checks.
*/
if (FD_SETSIZE <= (unsigned) fd)
acl_msg_panic("%s, %s(%d): descriptor %d does not fit FD_SETSIZE %d",
myname, __FILE__, __LINE__, fd, FD_SETSIZE);
#endif
/*
* Guard the write() with select() so we do not depend on alarm() and on
* signal() handlers. Restart the select when interrupted by some signal.
* Some select() implementations may reduce the time to wait when
* interrupted, which is exactly what we want.
*/
FD_ZERO(&write_fds);
FD_SET(fd, &write_fds);
FD_ZERO(&except_fds);
FD_SET(fd, &except_fds);
if (timeout >= 0) {
tv.tv_usec = 0;
tv.tv_sec = timeout;
tp = &tv;
} else {
tp = 0;
}
for (;;) {
switch (select(fd + 1, (fd_set *) 0, &write_fds, &except_fds, tp)) {
case -1:
#ifdef WIN32
errnum = WSAGetLastError();
if (errnum != WSAEINPROGRESS && errnum != WSAEWOULDBLOCK) {
acl_msg_error("%s, %s(%d): select error(%s), fd(%d)",
myname, __FILE__, __LINE__,
acl_last_strerror(buf, sizeof(buf)), fd);
return (-1);
}
#else
if (acl_last_error() != ACL_EINTR) {
acl_msg_error("%s, %s(%d): select error(%s), fd(%d)",
myname, __FILE__, __LINE__,
acl_last_strerror(buf, sizeof(buf)), fd);
return (-1);
}
#endif
continue;
case 0:
acl_set_error(ACL_ETIMEDOUT);
return (-1);
default:
return (0);
}
}
}
#ifdef ACL_UNIX
#include <stdio.h>
static int poll_write_wait(ACL_SOCKET fd, int timeout)
int acl_write_wait(ACL_SOCKET fd, int timeout)
{
const char *myname = "poll_write_wait";
const char *myname = "acl_write_wait";
struct pollfd fds;
int delay = timeout * 1000;
fds.events = POLLOUT | POLLHUP | POLLERR;
fds.fd = fd;
acl_set_error(0);
for (;;) {
switch (poll(&fds, 1, delay)) {
case -1:
if (acl_last_error() != ACL_EINTR) {
char tbuf[256];
acl_msg_error("%s: poll error(%s)", myname,
acl_last_strerror(tbuf, sizeof(tbuf)));
return (-1);
}
continue;
if (acl_last_error() == ACL_EINTR)
continue;
acl_msg_error("%s(%d), %s: poll error(%s), fd: %d",
__FILE__, __LINE__, myname,
acl_last_serror(), (int) fd);
return -1;
case 0:
acl_set_error(ACL_ETIMEDOUT);
return (-1);
return -1;
default:
if ((fds.revents & (POLLHUP | POLLERR))
|| !(fds.revents & POLLOUT))
{
return (-1);
if ((fds.revents & (POLLHUP | POLLERR))) {
acl_msg_error("%s(%d), %s: fd: %d,"
"POLLHUP: %s, POLLERR: %s",
__FILE__, __LINE__, myname, fd,
fds.revents & POLLHUP ? "yes" : "no",
fds.revents & POLLERR ? "yes" : "no");
return -1;
}
return (0);
if (fds.revents & POLLOUT)
return 0;
acl_msg_error("%s(%d), %s: unknown error, fd: %d",
__FILE__, __LINE__, myname, fd);
return -1;
}
}
}
#endif
#else
int acl_write_wait(ACL_SOCKET fd, int timeout)
{
#ifdef ACL_UNIX
if (__acl_var_use_poll)
return (poll_write_wait(fd, timeout));
#endif
const char *myname = "acl_write_wait";
fd_set wfds, xfds;
struct timeval tv;
struct timeval *tp;
int errnum;
return (select_write_wait(fd, timeout));
/*
* Sanity checks.
*/
if (FD_SETSIZE <= (unsigned) fd)
acl_msg_fatal("%s, %s(%d): descriptor %d does not fit "
"FD_SETSIZE %d", myname, __FILE__, __LINE__,
(int) fd, FD_SETSIZE);
/*
* Guard the write() with select() so we do not depend on alarm()
* and on signal() handlers. Restart the select when interrupted
* by some signal. Some select() implementations may reduce the time
* to wait when interrupted, which is exactly what we want.
*/
FD_ZERO(&wfds);
FD_SET(fd, &wfds);
FD_ZERO(&xfds);
FD_SET(fd, &xfds);
if (timeout >= 0) {
tv.tv_usec = 0;
tv.tv_sec = timeout;
tp = &tv;
} else
tp = 0;
acl_set_error(0);
for (;;) {
switch (select(fd + 1, (fd_set *) 0, &wfds, &xfds, tp)) {
case -1:
errnum = acl_last_error();
#ifdef WIN32
if (errnum == WSAEINPROGRESS
|| errnum == WSAEWOULDBLOCK
|| errnum == ACL_EINTR)
{
continue;
}
#else
if (errnum == ACL_EINTR)
continue;
#endif
acl_msg_error("%s, %s(%d): select error(%s), fd(%d)",
myname, __FILE__, __LINE__,
acl_last_serror(), (int) fd);
return -1;
case 0:
acl_set_error(ACL_ETIMEDOUT);
return -1;
default:
return 0;
}
}
}
#endif

View File

@ -19,7 +19,6 @@
#include "stdlib/acl_msg.h"
#include "stdlib/acl_malloc.h"
#include "stdlib/unix/acl_trace.h"
#endif
@ -174,21 +173,18 @@ void *acl_default_malloc(const char *filename, int line, size_t len)
acl_msg_fatal("%s(%d): new_len(%d) <= 0",
myname, __LINE__, (int) new_len);
else if (new_len >= __malloc_limit) {
acl_log_strace();
acl_msg_warn("%s(%d): new_len(%d) too large",
myname, __LINE__, (int) new_len);
}
#ifdef _USE_GLIB
if ((real_ptr = (MBLOCK *) g_malloc(new_len)) == 0) {
acl_log_strace();
acl_msg_error("%s(%d)->%s: new_len: %d, g_malloc error(%s)",
pname, line, myname, (int) new_len, strerror(errno));
return 0;
}
#else
if ((real_ptr = (MBLOCK *) malloc(new_len)) == 0) {
acl_log_strace();
acl_msg_error("%s(%d)->%s: malloc: insufficient memory: %s, "
"new_len: %d", pname, line, myname,
strerror(errno), (int) new_len);
@ -245,7 +241,6 @@ void *acl_default_realloc(const char *filename, int line,
acl_msg_fatal("%s(%d): new_len(%d) <= 0",
myname, __LINE__, (int) new_len);
else if (new_len >= __malloc_limit) {
acl_log_strace();
acl_msg_warn("%s(%d): new_len(%d) too large",
myname, __LINE__, (int) new_len);
}
@ -283,7 +278,6 @@ void acl_default_free(const char *filename, int line, void *ptr)
pname = __FILENAME_UNKNOWN;
if (ptr == NULL) {
acl_log_strace();
acl_msg_error("%s(%d)->%s: ptr null", pname, line, myname);
return;
}

View File

@ -12,9 +12,9 @@
#include <sys/stat.h>
#include <fcntl.h>
void acl_dump_trace(const char *filepath)
void acl_trace_save(const char *filepath)
{
const char *myname = "acl_dump_trace";
const char *myname = "acl_trace_save";
int fd;
void *buffer[1000];
size_t n;
@ -34,7 +34,7 @@ void acl_dump_trace(const char *filepath)
close(fd);
}
void acl_log_strace(void)
void acl_trace_info(void)
{
void *buffer[1000];
size_t n, i;
@ -50,11 +50,11 @@ void acl_log_strace(void)
#else
void acl_dump_trace(const char *filepath acl_unused)
void acl_trace_save(const char *filepath acl_unused)
{
}
void acl_log_strace(void)
void acl_trace_info(void)
{
}

View File

@ -1474,6 +1474,11 @@ int acl_pthread_pool_dispatch(void *dispatch_arg,
return 0;
}
int acl_pthread_pool_limit(acl_pthread_pool_t *thr_pool)
{
return thr_pool->parallelism;
}
int acl_pthread_pool_size(acl_pthread_pool_t *thr_pool)
{
const char *myname = "acl_pthread_pool_size";

View File

@ -1,6 +1,14 @@
修改历史列表:
------------------------------------------------------------------------
266) 2014.12.2
266.1) bugfix: polarssl_io 类在非阻塞模式下有可能会阻塞在 IO 上
265) 2014.12.1
265.1) bugfix: istream 类中的 xxx_peek 函数在读出错时没有判断 errno 为 ACL_EWOULDBLOCK
的情况,在非阻塞方式下,当读返回 -1 且 errno 为 ACL_EWOULDBLOCK 时并不表示读出错
265.2) feature: polarssl_io 类完善了非阻塞 IO 过程
264) 2014.11.29
264.1) feature: stream_setup 类现在可以支持 aio_stream 非阻塞流了
264.2) feature: polarssl_io 类增加了支持非阻塞 IO 的方法

View File

@ -7,13 +7,12 @@ struct ACL_VSTREAM;
namespace acl {
class stream;
class polarssl_conf;
/**
* stream IO
* stream IO ()
* stream destroy() 
* stream/aio_stream IO
* stream/aio_stream IO ()
* stream/aio_stream destroy() 
*/
class ACL_CPP_API polarssl_io : public stream_hook
{
@ -51,6 +50,23 @@ public:
return handshake_ok_;
}
/**
* /
* @param yes {bool} false
* @return {polarssl_io&}
*/
polarssl_io& set_non_blocking(bool yes);
/**
* SSL IO
* @return {bool} true
*/
bool is_non_blocking(void) const
{
return non_block_;
}
/**
*
* @return {bool}

View File

@ -5,9 +5,6 @@ all:
@(cd json; make)
@(cd mime; make)
@(cd socket_stream; make)
@(cd mime_base64; make)
@(cd mime_xxcode; make)
@(cd mime_qp; make)
@(cd charset; make)
@(cd rfc2047; make)
@(cd rfc822; make)
@ -31,15 +28,7 @@ all:
@(cd md5; make)
@(cd http_server; make)
@(cd beanstalk; make)
@(cd master_http_rpc; make)
@(cd master_http_aio; make)
@(cd master_http_threads; make)
@(cd master_trigger; make)
@(cd master_aio; make)
@(cd master_proc; make)
@(cd master_threads; make)
@(cd master_udp; make)
@(cd master_udp_threads; make)
@(cd master; make)
@(cd master_aio_proxy; make)
@(cd benchmark; make)
@(cd fs_benchmark; make)
@ -62,9 +51,6 @@ clean:
@(cd json; make clean)
@(cd mime; make clean)
@(cd socket_stream; make clean)
@(cd mime_base64; make clean)
@(cd mime_xxcode; make clean)
@(cd mime_qp; make clean)
@(cd charset; make clean)
@(cd rfc2047; make clean)
@(cd rfc822; make clean)
@ -88,21 +74,13 @@ clean:
@(cd md5; make clean)
@(cd http_server; make clean)
@(cd beanstalk; make clean)
@(cd master_http_rpc; make clean)
@(cd master_http_aio; make clean)
@(cd master_http_threads; make clean)
@(cd master_trigger; make clean)
@(cd master_aio; make clean)
@(cd master_proc; make clean)
@(cd master_threads; make clean)
@(cd master; make clean)
@(cd master_aio_proxy; make clean)
@(cd benchmark; make clean)
@(cd fs_benchmark; make clean)
@(cd http_request_pool; make clean)
@(cd memcache_pool; make clean)
@(cd udp_client;make clean)
@(cd master_udp; make clean)
@(cd master_udp_threads; make clean)
@(cd thread; make clean)
@(cd thread_pool; make clean)
@(cd thread_client; make clean)

View File

@ -72,13 +72,19 @@ endif
###########################################################
BASE_PATH =
ifneq ($(base_path),)
BASE_PATH = $(base_path)
else
BASE_PATH = ../..
endif
UTIL_PATH =
ifneq ($(util_path),)
UTIL_PATH = $(util_path)
else
UTIL_PATH = ..
endif
CFLAGS += -I. -I$(BASE_PATH)/include -I$(BASE_PATH)/../lib_acl/include -I$(BASE_PATH)/../lib_protocol/include
EXTLIBS =
LDFLAGS = -L$(BASE_PATH)/lib -l_acl_cpp -L$(BASE_PATH)/../lib_protocol/lib -l_protocol -L$(BASE_PATH)/../lib_acl/lib -l_acl \
@ -90,12 +96,14 @@ LINK = $(CC) $(OBJ) $(LDFLAGS)
OBJ_PATH = .
#Project's objs
#UTIL = $(wildcard $(UTIL_PATH)/*.cpp)
SRC = $(wildcard *.cpp) $(UTIL)
#SRC = $(wildcard *.cpp)
OBJ = $(patsubst %.cpp, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
$(OBJ_PATH)/%.o: %.cpp
$(COMPILE) $< -o $@
$(OBJ_PATH)/%.o: ../%.cpp
$(OBJ_PATH)/%.o: $(UTIL_PATH)/%.cpp
$(COMPILE) $< -o $@
.PHONY = all clean

View File

@ -25,7 +25,7 @@ public:
timer_reader(int delay)
{
delay_ = delay;
std::cout << "timer_reader init, delay: " << delay << std::endl;
printf("timer_reader init, delay: %d\r\n", delay);
}
~timer_reader()
@ -35,15 +35,14 @@ public:
// aio_timer_reader 的子类必须重载 destroy 方法
void destroy()
{
std::cout << "timer_reader delete, delay: " << delay_ << std::endl;
printf("timer_reader delete, delay: %d\r\n", delay_);
delete this;
}
// 重载基类回调方法
virtual void timer_callback(unsigned int id)
{
std::cout << "timer_reader(" << id
<< "): timer_callback, delay: " << delay_ << std::endl;
printf("timer_reader(%d): delay: %d\r\n", id, delay_);
// 调用基类的处理过程
aio_timer_reader::timer_callback(id);
@ -62,7 +61,7 @@ public:
timer_writer(int delay)
{
delay_ = delay;
std::cout << "timer_writer init, delay: " << delay << std::endl;
printf("timer_writer init, delay: %d\r\n", delay);
}
~timer_writer()
@ -72,15 +71,15 @@ public:
// aio_timer_reader 的子类必须重载 destroy 方法
void destroy()
{
std::cout << "timer_writer delete, delay: " << delay_ << std::endl;
printf("timer_writer delete, delay: %d\r\n", delay_);
delete this;
}
// 重载基类回调方法
virtual void timer_callback(unsigned int id)
{
std::cout << "timer_writer(" << id << "): timer_callback, delay: "
<< delay_ << std::endl;
printf("timer_writer(%d): timer_callback, delay: %d\r\n",
id, delay_);
// 调用基类的处理过程
aio_timer_writer::timer_callback(id);
@ -104,7 +103,7 @@ public:
~io_callback()
{
std::cout << "delete io_callback now ..." << std::endl;
printf("delete io_callback now ...\r\n");
}
/**
@ -128,14 +127,10 @@ public:
// 尝试进行 SSL 握手
if (hook->handshake() == false)
{
std::cout << "ssl handshake failed" << std::endl;
printf("ssl handshake failed\r\n");
return false;
}
std::cout << ">>>handshake: "
<< (hook->handshake_ok() ? "ok": "wait")
<< "<<<" << std::endl;
// 如果 SSL 握手已经成功,则开始按行读数据
if (hook->handshake_ok())
{
@ -161,9 +156,9 @@ public:
bool read_callback(char* data, int len)
{
i_++;
if (i_ < 10)
std::cout << ">>gets(i:" << i_ << "): "
<< data << std::endl;
//if (i_ < 10)
// std::cout << ">>gets(i:" << i_ << "): "
// << data << std::endl;
// 如果远程客户端希望退出,则关闭之
if (strncasecmp(data, "quit", 4) == 0)

View File

@ -0,0 +1,4 @@
base_path = ../../..
include ../../Makefile.in
PROG = ssl_aio_client
EXTLIBS += -lpolarssl

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@ -35,7 +35,7 @@
AdditionalDependencies="polarssl.lib"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib\win32;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32;..\..\..\..\dist\lib\win32"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/ssl_aio_client.pdb"
@ -70,7 +70,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
@ -84,7 +84,7 @@
AdditionalDependencies="polarssl.lib"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib\win32;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32;..\..\..\..\dist\lib\win32"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="TRUE"
SubSystem="1"
@ -121,7 +121,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_DLL;ACL_CPP_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@ -136,7 +136,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32"
IgnoreDefaultLibraryNames="libcmt"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/ssl_aio_client.pdb"
@ -171,7 +171,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_DLL;ACL_CPP_DLL"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@ -184,7 +184,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"

View File

@ -41,7 +41,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@ -65,7 +65,7 @@
AdditionalDependencies="polarssl.lib"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib\win32;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32;..\..\..\..\dist\lib\win32"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/ssl_aio_client.pdb"
@ -121,7 +121,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
@ -143,7 +143,7 @@
AdditionalDependencies="polarssl.lib"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib\win32;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32;..\..\..\..\dist\lib\win32"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="true"
SubSystem="1"
@ -201,7 +201,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;ACL_DLL;ACL_CPP_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@ -224,7 +224,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32"
IgnoreDefaultLibraryNames="libcmt"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/ssl_aio_client.pdb"
@ -280,7 +280,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;ACL_DLL;ACL_CPP_DLL"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@ -301,7 +301,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/ssl_aio_client.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib\win32"
AdditionalLibraryDirectories="..\..\..\..\lib\win32"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"

View File

@ -0,0 +1,8 @@
// stdafx.cpp : 只包括标准包含文件的源文件
// xml.pch 将成为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"
// TODO: 在 STDAFX.H 中
//引用任何所需的附加头文件,而不是在此文件中引用

View File

@ -0,0 +1,12 @@
// stdafx.h : 标准系统包含文件的包含文件,
// 或是常用但不常更改的项目特定的包含文件
//
#pragma once
//
//#include <iostream>
//#include <tchar.h>
// TODO: 在此处引用程序要求的附加头文件
#include "acl_cpp/lib_acl.hpp"

View File

@ -60,6 +60,9 @@ static bool copy_file(acl::ifstream& in, const acl::string& to_path,
return false;
}
logger("copying from file: %s, to file: %s", in.file_path(),
to_filepath.c_str());
char buf[4096];
int ret;
acl_int64 nread = 0;
@ -192,9 +195,10 @@ static bool cmp_copy(acl::scan_dir& scan, const char* name,
if (memcmp(from_buf, to_buf, to_len) != 0)
{
to_fp.close();
printf("string not equal\r\n");
logger("string not equal, from: %s, to: %s",
from_fp.file_path(), to_filepath.c_str());
return copy_file(from_fp, to_pathbuf,
from_filepath, ncopied);
to_filepath, ncopied);
}
}
}

View File

@ -1,2 +1,3 @@
util_path = ..
include ../Makefile.in
PROG = fstream

View File

@ -0,0 +1,8 @@
// stdafx.cpp : 只包括标准包含文件的源文件
// xml.pch 将成为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"
// TODO: 在 STDAFX.H 中
//引用任何所需的附加头文件,而不是在此文件中引用

View File

@ -0,0 +1,12 @@
// stdafx.h : 标准系统包含文件的包含文件,
// 或是常用但不常更改的项目特定的包含文件
//
#pragma once
//
//#include <iostream>
//#include <tchar.h>
// TODO: 在此处引用程序要求的附加头文件
#include "acl_cpp/lib_acl.hpp"

View File

@ -1,5 +0,0 @@
UTIL = $(wildcard ../*.cpp)
PROG = https_client
include ../Makefile.in
CFLAGS += -I../
EXTLIBS += -lpolarssl -lz

View File

@ -1,3 +0,0 @@
include ../Makefile.in
PROG = https_server
EXTLIBS += -lpolarssl -lz

View File

@ -0,0 +1,25 @@
.PHONY = all clean
all:
@(cd master_http_aio; make)
@(cd master_http_threads; make)
@(cd master_proc; make)
@(cd master_trigger; make)
@(cd master_udp_threads; make)
@(cd master_aio; make)
@(cd master_http_rpc; make)
@(cd master_http_threads2; make)
@(cd master_threads; make)
@(cd master_udp; make)
clean:
@(cd master_http_aio; make clean)
@(cd master_http_threads; make clean)
@(cd master_proc; make clean)
@(cd master_trigger; make clean)
@(cd master_udp_threads; make clean)
@(cd master_aio; make clean)
@(cd master_http_rpc; make clean)
@(cd master_http_threads2; make clean)
@(cd master_threads; make clean)
@(cd master_udp; make clean)

View File

@ -0,0 +1,3 @@
base_path = ../../..
include ../../Makefile.in
PROG = master_aio

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@ -35,7 +35,7 @@
AdditionalDependencies="lib_acl_vc2003d.lib"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/master_aio.pdb"
SubSystem="1"
@ -69,7 +69,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003"
RuntimeLibrary="0"
UsePrecompiledHeader="3"
@ -83,7 +83,7 @@
AdditionalDependencies="lib_acl_vc2003.lib"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
@ -119,7 +119,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@ -134,7 +134,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/master_aio.pdb"
SubSystem="1"
@ -168,7 +168,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
RuntimeLibrary="2"
UsePrecompiledHeader="3"
@ -181,7 +181,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"

View File

@ -41,7 +41,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@ -64,7 +64,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/master_aio.pdb"
SubSystem="1"
@ -119,7 +119,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
UsePrecompiledHeader="2"
@ -140,7 +140,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@ -197,7 +197,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@ -220,7 +220,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/master_aio.pdb"
SubSystem="1"
@ -275,7 +275,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
@ -296,7 +296,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_aio.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"

View File

@ -90,7 +90,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@ -102,7 +102,7 @@
<Link>
<AdditionalDependencies>lib_acl_vc2012d.lib;lib_acl_cpp_vc2012d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)master_aio.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib\win32;..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\..\lib\win32;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)master_aio.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
@ -111,7 +111,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
@ -121,7 +121,7 @@
<Link>
<AdditionalDependencies>lib_acl_vc2012.lib;lib_acl_cpp_vc2012.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)master_aio.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\lib;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -132,7 +132,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;ACL_CPP_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@ -143,7 +143,7 @@
</ClCompile>
<Link>
<OutputFile>$(OutDir)master_aio.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\lib;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)master_aio.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
@ -157,7 +157,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
@ -166,7 +166,7 @@
</ClCompile>
<Link>
<OutputFile>$(OutDir)master_aio.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\lib;..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -197,4 +197,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -0,0 +1,4 @@
base_path = ../../..
include ../../Makefile.in
EXTLIBS = -lz
PROG = master_http_aio

View File

@ -1,4 +1,5 @@
include ../Makefile.in
base_path = ../../..
include ../../Makefile.in
#EXTLIBS = -lz -liconv
#Path for SunOS
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)

View File

@ -1,4 +1,5 @@
include ../Makefile.in
base_path = ../../..
include ../../Makefile.in
#EXTLIBS = -lz -liconv
#Path for SunOS
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)

View File

@ -1,4 +1,5 @@
include ../Makefile.in
base_path = ../../..
include ../../Makefile.in
#EXTLIBS = -lz -liconv
#Path for SunOS
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)

View File

@ -0,0 +1,3 @@
base_path = ../../..
include ../../Makefile.in
PROG = master_proc

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@ -35,7 +35,7 @@
AdditionalDependencies="lib_acl_vc2003d.lib"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/master_proc.pdb"
SubSystem="1"
@ -69,7 +69,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003"
RuntimeLibrary="0"
UsePrecompiledHeader="3"
@ -83,7 +83,7 @@
AdditionalDependencies="lib_acl_vc2003.lib"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
@ -119,7 +119,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
@ -134,7 +134,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/master_proc.pdb"
SubSystem="1"
@ -168,7 +168,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
RuntimeLibrary="2"
UsePrecompiledHeader="3"
@ -181,7 +181,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"

View File

@ -41,7 +41,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@ -64,7 +64,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/master_proc.pdb"
SubSystem="1"
@ -119,7 +119,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
UsePrecompiledHeader="2"
@ -140,7 +140,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib;..\..\..\dist\lib\win32"
AdditionalLibraryDirectories="..\..\..\lib;..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@ -197,7 +197,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@ -220,7 +220,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/master_proc.pdb"
SubSystem="1"
@ -275,7 +275,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;..\..\..\lib_acl\include"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
@ -296,7 +296,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/master_proc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"

Some files were not shown because too many files have changed in this diff Show More