Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
a8363624
Commit
a8363624
authored
Oct 21, 2016
by
INADA Naoki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #28448: Fix C implemented asyncio.Future didn't work on Windows
parent
56b2cf5e
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
109 additions
and
8 deletions
+109
-8
Lib/asyncio/futures.py
Lib/asyncio/futures.py
+4
-4
Lib/asyncio/windows_events.py
Lib/asyncio/windows_events.py
+7
-2
Misc/NEWS
Misc/NEWS
+2
-0
PCbuild/_asyncio.vcxproj
PCbuild/_asyncio.vcxproj
+77
-0
PCbuild/_asyncio.vcxproj.filters
PCbuild/_asyncio.vcxproj.filters
+16
-0
PCbuild/pcbuild.proj
PCbuild/pcbuild.proj
+1
-1
PCbuild/pcbuild.sln
PCbuild/pcbuild.sln
+2
-0
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj
+0
-1
No files found.
Lib/asyncio/futures.py
View file @
a8363624
...
...
@@ -247,10 +247,10 @@ class Future:
if
self
.
_state
!=
_PENDING
:
return
False
self
.
_state
=
_CANCELLED
self
.
_schedule_callbacks
()
self
.
_
_
schedule_callbacks
()
return
True
def
_schedule_callbacks
(
self
):
def
_
_
schedule_callbacks
(
self
):
"""Internal: Ask the event loop to call all callbacks.
The callbacks are scheduled to be called as soon as possible. Also
...
...
@@ -352,7 +352,7 @@ class Future:
raise
InvalidStateError
(
'{}: {!r}'
.
format
(
self
.
_state
,
self
))
self
.
_result
=
result
self
.
_state
=
_FINISHED
self
.
_schedule_callbacks
()
self
.
_
_
schedule_callbacks
()
def
set_exception
(
self
,
exception
):
"""Mark the future done and set an exception.
...
...
@@ -369,7 +369,7 @@ class Future:
"and cannot be raised into a Future"
)
self
.
_exception
=
exception
self
.
_state
=
_FINISHED
self
.
_schedule_callbacks
()
self
.
_
_
schedule_callbacks
()
if
compat
.
PY34
:
self
.
_log_traceback
=
True
else
:
...
...
Lib/asyncio/windows_events.py
View file @
a8363624
...
...
@@ -171,8 +171,13 @@ class _WaitCancelFuture(_BaseWaitHandleFuture):
def
cancel
(
self
):
raise
RuntimeError
(
"_WaitCancelFuture must not be cancelled"
)
def
_schedule_callbacks
(
self
):
super
(
_WaitCancelFuture
,
self
).
_schedule_callbacks
()
def
set_result
(
self
,
result
):
super
().
set_result
(
result
)
if
self
.
_done_callback
is
not
None
:
self
.
_done_callback
(
self
)
def
set_exception
(
self
,
exception
):
super
().
set_exception
(
exception
)
if
self
.
_done_callback
is
not
None
:
self
.
_done_callback
(
self
)
...
...
Misc/NEWS
View file @
a8363624
...
...
@@ -20,6 +20,8 @@ Core and Builtins
Library
-------
- Issue #28448: Fix C implemented asyncio.Future didn'
t
work
on
Windows
.
-
Issue
#
28480
:
Fix
error
building
socket
module
when
multithreading
is
disabled
.
...
...
PCbuild/_asyncio.vcxproj
0 → 100644
View file @
a8363624
<?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=
"Debug|Win32"
>
<Configuration>
Debug
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Debug|x64"
>
<Configuration>
Debug
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"PGInstrument|Win32"
>
<Configuration>
PGInstrument
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"PGInstrument|x64"
>
<Configuration>
PGInstrument
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"PGUpdate|Win32"
>
<Configuration>
PGUpdate
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"PGUpdate|x64"
>
<Configuration>
PGUpdate
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|Win32"
>
<Configuration>
Release
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|x64"
>
<Configuration>
Release
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup
Label=
"Globals"
>
<ProjectGuid>
{384C224A-7474-476E-A01B-750EA7DE918C}
</ProjectGuid>
<RootNamespace>
_asyncio
</RootNamespace>
<Keyword>
Win32Proj
</Keyword>
</PropertyGroup>
<Import
Project=
"python.props"
/>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.Default.props"
/>
<PropertyGroup
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
NotSet
</CharacterSet>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.props"
/>
<PropertyGroup>
<TargetExt>
.pyd
</TargetExt>
</PropertyGroup>
<ImportGroup
Label=
"ExtensionSettings"
>
</ImportGroup>
<ImportGroup
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"pyproject.props"
/>
</ImportGroup>
<PropertyGroup
Label=
"UserMacros"
/>
<PropertyGroup>
<_ProjectFileVersion>
10.0.30319.1
</_ProjectFileVersion>
</PropertyGroup>
<ItemGroup>
<ClCompile
Include=
"..\Modules\_asynciomodule.c"
/>
</ItemGroup>
<ItemGroup>
<ResourceCompile
Include=
"..\PC\python_nt.rc"
/>
</ItemGroup>
<ItemGroup>
<ProjectReference
Include=
"pythoncore.vcxproj"
>
<Project>
{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}
</Project>
<ReferenceOutputAssembly>
false
</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.targets"
/>
<ImportGroup
Label=
"ExtensionTargets"
>
</ImportGroup>
</Project>
PCbuild/_asyncio.vcxproj.filters
0 → 100644
View file @
a8363624
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"4.0"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<ItemGroup>
<ResourceCompile
Include=
"..\PC\python_nt.rc"
/>
</ItemGroup>
<ItemGroup>
<Filter
Include=
"Source Files"
>
<UniqueIdentifier>
{2422278e-eeeb-4241-8182-433e2bc5a7fc}
</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile
Include=
"..\Modules\_asynciomodule.c"
>
<Filter>
Source Files
</Filter>
</ClCompile>
</ItemGroup>
</Project>
\ No newline at end of file
PCbuild/pcbuild.proj
View file @
a8363624
...
...
@@ -51,7 +51,7 @@
<!-- _freeze_importlib -->
<Projects
Include=
"_freeze_importlib.vcxproj"
/>
<!-- Extension modules -->
<ExtensionModules
Include=
"_ctypes;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;select;unicodedata;winsound"
/>
<ExtensionModules
Include=
"_
asyncio;_
ctypes;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;select;unicodedata;winsound"
/>
<!-- Extension modules that require external sources -->
<ExternalModules
Include=
"_bz2;_lzma;_sqlite3"
/>
<!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
...
...
PCbuild/pcbuild.sln
View file @
a8363624
...
...
@@ -94,6 +94,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyshellext", "pyshellext.vc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testconsole", "_testconsole.vcxproj", "{B244E787-C445-441C-BDF4-5A4F1A3A1E51}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_asyncio", "_asyncio.vcxproj", "{384C224A-7474-476E-A01B-750EA7DE918C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
...
...
PCbuild/pythoncore.vcxproj
View file @
a8363624
...
...
@@ -213,7 +213,6 @@
<ClInclude
Include=
"..\Python\wordcode_helpers.h"
/>
</ItemGroup>
<ItemGroup>
<ClCompile
Include=
"..\Modules\_asynciomodule.c"
/>
<ClCompile
Include=
"..\Modules\_bisectmodule.c"
/>
<ClCompile
Include=
"..\Modules\_blake2\blake2module.c"
/>
<ClCompile
Include=
"..\Modules\_blake2\blake2b_impl.c"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment