Commit 2208efc
committed
fix(asio): pin ASIO_HAS_THREADS for the llvm-on-Windows toolchain
With the symlink-free archive in place, the Windows job progressed to
runtime failures: core and network crashed with 0xC0000409 and coroutine
exited 1 while the thread-free tests (experimental/platform/surface)
passed. Reproduced under mingw+wine: asio's thread detection keys off CRT
macros (_MT/_REENTRANT/_POSIX_THREADS) the toolchain does not define, so
it silently selects null_thread and the steady_timer wait thread throws
operation_not_supported (10045, 'thread: asio.system error').
Pin ASIO_HAS_THREADS in the default standalone feature. asio only tests
defined(ASIO_HAS_THREADS) and POSIX pthread selection still runs beneath
it, so this is a no-op where detection already works. All six consumer
tests pass under mingw+wine with the pin (platform's pipe path is a wine
limitation, passes on real Windows), and the Linux member suite passes
6/6 cold with the define present in every consumer TU's compile command.1 parent 3bb23bd commit 2208efc
2 files changed
Lines changed: 22 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
88 | 99 | | |
89 | 100 | | |
90 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
66 | 75 | | |
67 | 76 | | |
68 | 77 | | |
69 | 78 | | |
70 | 79 | | |
71 | 80 | | |
72 | 81 | | |
| 82 | + | |
73 | 83 | | |
74 | 84 | | |
75 | 85 | | |
| |||
0 commit comments