From 93bd915501e9a5bfe564e7028371507e21978945 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 9 Jul 2024 19:51:14 +0000 Subject: [PATCH] msys2-runtime: update to 4eb0db98443ea3a75714d1046d775fa054b15045 Signed-off-by: Johannes Schindelin --- ...n-t-skip-arguments-with-double-quote.patch | 27 +++ ...Fix-exit-code-for-non-cygwin-process.patch | 44 +++++ ...void-slipping-past-disable_master_th.patch | 32 ++++ ...-up-to-use-query_hdl-for-non-cygwin-.patch | 110 +++++++++++ ...-sure-to-set-read-pipe-non-blocking-.patch | 176 ++++++++++++++++++ msys2-runtime/PKGBUILD | 25 ++- msys2-runtime/msys2-runtime.commit | 2 +- 7 files changed, 410 insertions(+), 6 deletions(-) create mode 100644 msys2-runtime/0075-pathconv-don-t-skip-arguments-with-double-quote.patch create mode 100644 msys2-runtime/0076-Cygwin-console-Fix-exit-code-for-non-cygwin-process.patch create mode 100644 msys2-runtime/0077-Cygwin-console-Avoid-slipping-past-disable_master_th.patch create mode 100644 msys2-runtime/0078-Cygwin-pipe-Give-up-to-use-query_hdl-for-non-cygwin-.patch create mode 100644 msys2-runtime/0079-Cygwin-pipe-Make-sure-to-set-read-pipe-non-blocking-.patch diff --git a/msys2-runtime/0075-pathconv-don-t-skip-arguments-with-double-quote.patch b/msys2-runtime/0075-pathconv-don-t-skip-arguments-with-double-quote.patch new file mode 100644 index 00000000000..5dd923b7de1 --- /dev/null +++ b/msys2-runtime/0075-pathconv-don-t-skip-arguments-with-double-quote.patch @@ -0,0 +1,27 @@ +From 7793231f24aa7060214862852c09c7eb9c3cbdd2 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sat, 10 Feb 2024 08:31:55 +0100 +Subject: [PATCH 75/N] pathconv: don't skip arguments with double quote + +It is used to pass strings/paths to the preprocessor and breaks +for example the CPython build. For example -DPREFIX='"/ucrt64"'. + +Fixes msys2/msys2-runtime/#190 + +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/msys2_path_conv.cc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc +index 133939a..1c60bf3 100644 +--- a/winsup/cygwin/msys2_path_conv.cc ++++ b/winsup/cygwin/msys2_path_conv.cc +@@ -366,7 +366,6 @@ skip_p2w: + switch (*it) { + case '`': + case '\'': +- case '"': + case '*': + case '?': + case '[': diff --git a/msys2-runtime/0076-Cygwin-console-Fix-exit-code-for-non-cygwin-process.patch b/msys2-runtime/0076-Cygwin-console-Fix-exit-code-for-non-cygwin-process.patch new file mode 100644 index 00000000000..5f10ce65683 --- /dev/null +++ b/msys2-runtime/0076-Cygwin-console-Fix-exit-code-for-non-cygwin-process.patch @@ -0,0 +1,44 @@ +From fdc7c9a039aab6001d74e9463decd45710d6798f Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Fri, 2 Feb 2024 13:59:19 +0900 +Subject: [PATCH 76/N] Cygwin: console: Fix exit code for non-cygwin process. + +If non-cygwin process is executed in console, the exit code is not +set correctly. This is because the stub process for non-cygwin app +crashes in fhandler_console::set_disable_master_thread() due to NULL +pointer dereference. This bug was introduced by the commit: +3721a756b0d8 ("Cygwin: console: Make the console accessible from +other terminals."), that the pointer cons is accessed before fixing +when it is NULL. This patch fixes the issue. + +Backported-from: aa73e11524 (Cygwin: console: Fix exit code for non-cygwin process., 2024-02-02) +Fixes: 3721a756b0d8 ("Cygwin: console: Make the console accessible from other terminals.") +Reported-by: Johannes Schindelin +Signed-off-by: Takashi Yano +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/fhandler/console.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/winsup/cygwin/fhandler/console.cc b/winsup/cygwin/fhandler/console.cc +index 1fe72fc..edcc484 100644 +--- a/winsup/cygwin/fhandler/console.cc ++++ b/winsup/cygwin/fhandler/console.cc +@@ -4344,8 +4344,6 @@ fhandler_console::need_console_handler () + void + fhandler_console::set_disable_master_thread (bool x, fhandler_console *cons) + { +- if (con.disable_master_thread == x) +- return; + if (cons == NULL) + { + if (cygheap->ctty && cygheap->ctty->get_major () == DEV_CONS_MAJOR) +@@ -4353,6 +4351,8 @@ fhandler_console::set_disable_master_thread (bool x, fhandler_console *cons) + else + return; + } ++ if (con.disable_master_thread == x) ++ return; + cons->acquire_input_mutex (mutex_timeout); + con.disable_master_thread = x; + cons->release_input_mutex (); diff --git a/msys2-runtime/0077-Cygwin-console-Avoid-slipping-past-disable_master_th.patch b/msys2-runtime/0077-Cygwin-console-Avoid-slipping-past-disable_master_th.patch new file mode 100644 index 00000000000..882a1c24864 --- /dev/null +++ b/msys2-runtime/0077-Cygwin-console-Avoid-slipping-past-disable_master_th.patch @@ -0,0 +1,32 @@ +From d52d8f79398e5605f1224de14ea4bef0841a7f8e Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Sat, 3 Feb 2024 00:54:23 +0900 +Subject: [PATCH 77/N] Cygwin: console: Avoid slipping past + disable_master_thread check. + +If disable_master_thread flag is set between the code checking that +flag not be set and the code acquiring input_mutex, input record is +processed once after setting disable_master_thread flag. This patch +prevents that. + +Backported-from: 9bcfd06045 (Cygwin: console: Avoid slipping past disable_master_thread check., 2024-02-03) +Fixes: d4aacd50e6cf ("Cygwin: console: Add missing input_mutex guard.") +Signed-off-by: Takashi Yano +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/fhandler/console.cc | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/winsup/cygwin/fhandler/console.cc b/winsup/cygwin/fhandler/console.cc +index edcc484..f9a6946 100644 +--- a/winsup/cygwin/fhandler/console.cc ++++ b/winsup/cygwin/fhandler/console.cc +@@ -4351,8 +4351,6 @@ fhandler_console::set_disable_master_thread (bool x, fhandler_console *cons) + else + return; + } +- if (con.disable_master_thread == x) +- return; + cons->acquire_input_mutex (mutex_timeout); + con.disable_master_thread = x; + cons->release_input_mutex (); diff --git a/msys2-runtime/0078-Cygwin-pipe-Give-up-to-use-query_hdl-for-non-cygwin-.patch b/msys2-runtime/0078-Cygwin-pipe-Give-up-to-use-query_hdl-for-non-cygwin-.patch new file mode 100644 index 00000000000..0e0786ce112 --- /dev/null +++ b/msys2-runtime/0078-Cygwin-pipe-Give-up-to-use-query_hdl-for-non-cygwin-.patch @@ -0,0 +1,110 @@ +From a4bd6e9733cf85914843ad7ea7e9f54417dce9fb Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Sun, 3 Mar 2024 13:44:17 +0900 +Subject: [PATCH 78/N] Cygwin: pipe: Give up to use query_hdl for non-cygwin + apps. + +Non-cygwin app may call ReadFile() for empty pipe, which makes +NtQueryObject() for ObjectNameInformation block in fhandler_pipe:: +get_query_hdl_per_process. Therefore, do not to try to get query_hdl +for non-cygwin apps. + +Addresses: https://github.com/msys2/msys2-runtime/issues/202 + +Backported-from: f6be372ace (Cygwin: pipe: Give up to use query_hdl for non-cygwin apps., 2024-03-03) +Fixes: b531d6b06eeb ("Cygwin: pipe: Introduce temporary query_hdl.") +Reported-by: Alisa Sireneva, Johannes Schindelin +Reviewed-by: Corinna Vinschen +Signed-off-by: Takashi Yano +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/fhandler/pipe.cc | 57 ++++++++-------------------------- + 1 file changed, 13 insertions(+), 44 deletions(-) + +diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc +index 283319c..05b1625 100644 +--- a/winsup/cygwin/fhandler/pipe.cc ++++ b/winsup/cygwin/fhandler/pipe.cc +@@ -1207,53 +1207,24 @@ HANDLE + fhandler_pipe::get_query_hdl_per_process (WCHAR *name, + OBJECT_NAME_INFORMATION *ntfn) + { +- NTSTATUS status; +- ULONG len; +- DWORD n_process = 256; +- PSYSTEM_PROCESS_INFORMATION spi; +- do +- { /* Enumerate processes */ +- DWORD nbytes = n_process * sizeof (SYSTEM_PROCESS_INFORMATION); +- spi = (PSYSTEM_PROCESS_INFORMATION) HeapAlloc (GetProcessHeap (), +- 0, nbytes); +- if (!spi) +- return NULL; +- status = NtQuerySystemInformation (SystemProcessInformation, +- spi, nbytes, &len); +- if (NT_SUCCESS (status)) +- break; +- HeapFree (GetProcessHeap (), 0, spi); +- n_process *= 2; +- } +- while (n_process < (1L<<20) && status == STATUS_INFO_LENGTH_MISMATCH); +- if (!NT_SUCCESS (status)) +- return NULL; ++ winpids pids ((DWORD) 0); + +- /* In most cases, it is faster to check the processes in reverse order. +- To do this, store PIDs into an array. */ +- DWORD *proc_pids = (DWORD *) HeapAlloc (GetProcessHeap (), 0, +- n_process * sizeof (DWORD)); +- if (!proc_pids) ++ /* In most cases, it is faster to check the processes in reverse order. */ ++ for (LONG i = (LONG) pids.npids - 1; i >= 0; i--) + { +- HeapFree (GetProcessHeap (), 0, spi); +- return NULL; +- } +- PSYSTEM_PROCESS_INFORMATION p = spi; +- n_process = 0; +- while (true) +- { +- proc_pids[n_process++] = (DWORD)(intptr_t) p->UniqueProcessId; +- if (!p->NextEntryOffset) +- break; +- p = (PSYSTEM_PROCESS_INFORMATION) ((char *) p + p->NextEntryOffset); +- } +- HeapFree (GetProcessHeap (), 0, spi); ++ NTSTATUS status; ++ ULONG len; ++ ++ /* Non-cygwin app may call ReadFile() for empty pipe, which makes ++ NtQueryObject() for ObjectNameInformation block. Therefore, do ++ not try to get query_hdl for non-cygwin apps. */ ++ _pinfo *p = pids[i]; ++ if (!p || ISSTATE (p, PID_NOTCYGWIN)) ++ continue; + +- for (LONG i = (LONG) n_process - 1; i >= 0; i--) +- { + HANDLE proc = OpenProcess (PROCESS_DUP_HANDLE + | PROCESS_QUERY_INFORMATION, +- 0, proc_pids[i]); ++ 0, p->dwProcessId); + if (!proc) + continue; + +@@ -1317,7 +1288,6 @@ fhandler_pipe::get_query_hdl_per_process (WCHAR *name, + query_hdl_proc = proc; + query_hdl_value = (HANDLE)(intptr_t) phi->Handles[j].HandleValue; + HeapFree (GetProcessHeap (), 0, phi); +- HeapFree (GetProcessHeap (), 0, proc_pids); + return h; + } + close_handle: +@@ -1327,7 +1297,6 @@ close_handle: + close_proc: + CloseHandle (proc); + } +- HeapFree (GetProcessHeap (), 0, proc_pids); + return NULL; + } + diff --git a/msys2-runtime/0079-Cygwin-pipe-Make-sure-to-set-read-pipe-non-blocking-.patch b/msys2-runtime/0079-Cygwin-pipe-Make-sure-to-set-read-pipe-non-blocking-.patch new file mode 100644 index 00000000000..0ba2aa86ced --- /dev/null +++ b/msys2-runtime/0079-Cygwin-pipe-Make-sure-to-set-read-pipe-non-blocking-.patch @@ -0,0 +1,176 @@ +From a4d92d60dc618a2c1207dab20dcd04b4fb7cb541 Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Mon, 11 Mar 2024 22:08:00 +0900 +Subject: [PATCH 79/N] Cygwin: pipe: Make sure to set read pipe non-blocking + for cygwin apps. + +If pipe reader is a non-cygwin app first, and cygwin process reads +the same pipe after that, the pipe has been set to bclocking mode +for the cygwin app. However, the commit 9e4d308cd592 assumes the +pipe for cygwin process always is non-blocking mode. With this patch, +the pipe mode is reset to non-blocking when cygwin app is started. + +Backported-from: 55431b408e (Cygwin: pipe: Make sure to set read pipe non-blocking for cygwin apps., 2024-03-11) +Addresses: https://cygwin.com/pipermail/cygwin/2024-March/255644.html +Fixes: 9e4d308cd592 ("Cygwin: pipe: Adopt FILE_SYNCHRONOUS_IO_NONALERT flag for read pipe.") +Reported-by: wh +Reviewed-by: Corinna Vinschen +Signed-off-by: Takashi Yano +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/fhandler/pipe.cc | 63 +++++++++++++++++++++++++ + winsup/cygwin/local_includes/fhandler.h | 3 ++ + winsup/cygwin/spawn.cc | 34 +------------ + 3 files changed, 68 insertions(+), 32 deletions(-) + +diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc +index 05b1625..8daae8d 100644 +--- a/winsup/cygwin/fhandler/pipe.cc ++++ b/winsup/cygwin/fhandler/pipe.cc +@@ -18,6 +18,7 @@ details. */ + #include "pinfo.h" + #include "shared_info.h" + #include "tls_pbuf.h" ++#include "sigproc.h" + #include + + /* This is only to be used for writing. When reading, +@@ -587,6 +588,17 @@ fhandler_pipe::fixup_after_fork (HANDLE parent) + ReleaseMutex (hdl_cnt_mtx); + } + ++void ++fhandler_pipe::fixup_after_exec () ++{ ++ /* Set read pipe itself always non-blocking for cygwin process. ++ Blocking/non-blocking is simulated in raw_read(). For write ++ pipe, follow is_nonblocking(). */ ++ bool mode = get_device () == FH_PIPEW ? is_nonblocking () : true; ++ set_pipe_non_blocking (mode); ++ fhandler_base::fixup_after_exec (); ++} ++ + int + fhandler_pipe::dup (fhandler_base *child, int flags) + { +@@ -1370,3 +1382,54 @@ close_proc: + HeapFree (GetProcessHeap (), 0, shi); + return NULL; + } ++ ++void ++fhandler_pipe::spawn_worker (int fileno_stdin, int fileno_stdout, ++ int fileno_stderr) ++{ ++ bool need_send_noncygchld_sig = false; ++ ++ /* spawn_worker() is called from spawn.cc only when non-cygwin app ++ is started. Set pipe mode blocking for the non-cygwin process. */ ++ int fd; ++ cygheap_fdenum cfd (false); ++ while ((fd = cfd.next ()) >= 0) ++ if (cfd->get_dev () == FH_PIPEW ++ && (fd == fileno_stdout || fd == fileno_stderr)) ++ { ++ fhandler_pipe *pipe = (fhandler_pipe *)(fhandler_base *) cfd; ++ pipe->set_pipe_non_blocking (false); ++ ++ /* Setup for query_ndl stuff. Read the comment below. */ ++ if (pipe->request_close_query_hdl ()) ++ need_send_noncygchld_sig = true; ++ } ++ else if (cfd->get_dev () == FH_PIPER && fd == fileno_stdin) ++ { ++ fhandler_pipe *pipe = (fhandler_pipe *)(fhandler_base *) cfd; ++ pipe->set_pipe_non_blocking (false); ++ } ++ ++ /* If multiple writers including non-cygwin app exist, the non-cygwin ++ app cannot detect pipe closure on the read side when the pipe is ++ created by system account or the pipe creator is running as service. ++ This is because query_hdl which is held in write side also is a read ++ end of the pipe, so the pipe is still alive for the non-cygwin app ++ even after the reader is closed. ++ ++ To avoid this problem, let all processes in the same process ++ group close query_hdl using internal signal __SIGNONCYGCHLD when ++ non-cygwin app is started. */ ++ if (need_send_noncygchld_sig) ++ { ++ tty_min dummy_tty; ++ dummy_tty.ntty = (fh_devices) myself->ctty; ++ dummy_tty.pgid = myself->pgid; ++ tty_min *t = cygwin_shared->tty.get_cttyp (); ++ if (!t) /* If tty is not allocated, use dummy_tty instead. */ ++ t = &dummy_tty; ++ /* Emit __SIGNONCYGCHLD to let all processes in the ++ process group close query_hdl. */ ++ t->kill_pgrp (__SIGNONCYGCHLD); ++ } ++} +diff --git a/winsup/cygwin/local_includes/fhandler.h b/winsup/cygwin/local_includes/fhandler.h +index 649a431..15b19f7 100644 +--- a/winsup/cygwin/local_includes/fhandler.h ++++ b/winsup/cygwin/local_includes/fhandler.h +@@ -1212,6 +1212,7 @@ public: + int open (int flags, mode_t mode = 0); + bool open_setup (int flags); + void fixup_after_fork (HANDLE); ++ void fixup_after_exec (); + int dup (fhandler_base *child, int); + void set_close_on_exec (bool val); + int close (); +@@ -1273,6 +1274,8 @@ public: + } + return false; + } ++ static void spawn_worker (int fileno_stdin, int fileno_stdout, ++ int fileno_stderr); + }; + + #define CYGWIN_FIFO_PIPE_NAME_LEN 47 +diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc +index 383f5e5..acdef49 100644 +--- a/winsup/cygwin/spawn.cc ++++ b/winsup/cygwin/spawn.cc +@@ -607,38 +607,8 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, + int fileno_stderr = 2; + + if (!iscygwin ()) +- { +- bool need_send_sig = false; +- int fd; +- cygheap_fdenum cfd (false); +- while ((fd = cfd.next ()) >= 0) +- if (cfd->get_dev () == FH_PIPEW +- && (fd == fileno_stdout || fd == fileno_stderr)) +- { +- fhandler_pipe *pipe = (fhandler_pipe *)(fhandler_base *) cfd; +- pipe->set_pipe_non_blocking (false); +- if (pipe->request_close_query_hdl ()) +- need_send_sig = true; +- } +- else if (cfd->get_dev () == FH_PIPER && fd == fileno_stdin) +- { +- fhandler_pipe *pipe = (fhandler_pipe *)(fhandler_base *) cfd; +- pipe->set_pipe_non_blocking (false); +- } +- +- if (need_send_sig) +- { +- tty_min dummy_tty; +- dummy_tty.ntty = (fh_devices) myself->ctty; +- dummy_tty.pgid = myself->pgid; +- tty_min *t = cygwin_shared->tty.get_cttyp (); +- if (!t) /* If tty is not allocated, use dummy_tty instead. */ +- t = &dummy_tty; +- /* Emit __SIGNONCYGCHLD to let all processes in the +- process group close query_hdl. */ +- t->kill_pgrp (__SIGNONCYGCHLD); +- } +- } ++ fhandler_pipe::spawn_worker (fileno_stdin, fileno_stdout, ++ fileno_stderr); + + bool no_pcon = mode != _P_OVERLAY && mode != _P_WAIT; + term_spawn_worker.setup (iscygwin (), handle (fileno_stdin, false), diff --git a/msys2-runtime/PKGBUILD b/msys2-runtime/PKGBUILD index 4e26b925bd9..68fc0a6584e 100644 --- a/msys2-runtime/PKGBUILD +++ b/msys2-runtime/PKGBUILD @@ -4,7 +4,7 @@ pkgbase=msys2-runtime pkgname=('msys2-runtime' 'msys2-runtime-devel') pkgver=3.4.10 -pkgrel=4 +pkgrel=5 pkgdesc="Cygwin POSIX emulation engine" arch=('x86_64') url="https://www.cygwin.com/" @@ -100,9 +100,14 @@ source=('msys2-runtime'::git+https://github.com/cygwin/cygwin#tag=cygwin-${pkgve 0071-Allow-deriving-the-current-user-s-home-directory-via.patch 0072-Respect-db_home-setting-even-for-SYSTEM-Microsoft-ac.patch 0073-uinfo-special-case-IIS-APPPOOL-accounts.patch - 0074-Do-not-rely-on-getenv-HOME-s-path-conversion.patch) + 0074-Do-not-rely-on-getenv-HOME-s-path-conversion.patch + 0075-pathconv-don-t-skip-arguments-with-double-quote.patch + 0076-Cygwin-console-Fix-exit-code-for-non-cygwin-process.patch + 0077-Cygwin-console-Avoid-slipping-past-disable_master_th.patch + 0078-Cygwin-pipe-Give-up-to-use-query_hdl-for-non-cygwin-.patch + 0079-Cygwin-pipe-Make-sure-to-set-read-pipe-non-blocking-.patch) sha256sums=('4fb94e9f3bab9666dcab50c8940de6e8801d0aae900f0b5a6f79406479e757f1' - '17057a2215cab634b3bf831b646177d44bb0886baac817c5dd3a58977c45345c' + 'ed45a5f7b0ec05d4499ab5fa2a28c6a7f680550c8721575c1a4f5c16f6e26218' '351bb1efdbdafe80c981e92d6b425c6ab71c85ce4e990db184e2118158eb2ab6' 'd3d3a01feeae9f7d5e6cb32f4662df74fc9476ff11a1aac3dad2df3e43fd88e4' '2e50ecd65f2fd413baaf39e5058a6b252245abc7d34f4ebf17dd4f7ffed60ced' @@ -176,7 +181,12 @@ sha256sums=('4fb94e9f3bab9666dcab50c8940de6e8801d0aae900f0b5a6f79406479e757f1' '5eeebaad19822c72b2ef599c798d9bf93a31f868b47798b7b8437a3ec38184e8' 'b7749b7829af7155a1351d954d5321a20c2919875109633382f21f244789063d' 'f09716621fd2a6b368f2ea66ef3d54196cc4419c4241c0b6df04c29f4ce152ec' - '1a8f598901d871e4661e67fcfbb96abcdf4399c4a55d17ed40d21c8f0473418d') + '1a8f598901d871e4661e67fcfbb96abcdf4399c4a55d17ed40d21c8f0473418d' + '88db7e55e873372dc173c3168dc196e7e09778f36417fc8d13235f44f4b45594' + 'f79dfecd2d21b2900e0ff5779f0a0d6aeea0b3d5169718f43c84e3890b72a7c4' + '3a0c596ffe04e99d96b18e77c39c99ce7f3a25a18827953079dbea52b6cd161e' + '26e744a65f5143885816bbc86268b1543a05b140716854560063e936b75456ff' + '7b4e8e91b757d3597c85eb2d83a85ed5f57414b74967b0fa4c87a87332eb04c7') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -304,7 +314,12 @@ prepare() { 0071-Allow-deriving-the-current-user-s-home-directory-via.patch \ 0072-Respect-db_home-setting-even-for-SYSTEM-Microsoft-ac.patch \ 0073-uinfo-special-case-IIS-APPPOOL-accounts.patch \ - 0074-Do-not-rely-on-getenv-HOME-s-path-conversion.patch + 0074-Do-not-rely-on-getenv-HOME-s-path-conversion.patch \ + 0075-pathconv-don-t-skip-arguments-with-double-quote.patch \ + 0076-Cygwin-console-Fix-exit-code-for-non-cygwin-process.patch \ + 0077-Cygwin-console-Avoid-slipping-past-disable_master_th.patch \ + 0078-Cygwin-pipe-Give-up-to-use-query_hdl-for-non-cygwin-.patch \ + 0079-Cygwin-pipe-Make-sure-to-set-read-pipe-non-blocking-.patch } build() { diff --git a/msys2-runtime/msys2-runtime.commit b/msys2-runtime/msys2-runtime.commit index 8e311356c13..8e1ee1fc2a0 100644 --- a/msys2-runtime/msys2-runtime.commit +++ b/msys2-runtime/msys2-runtime.commit @@ -1 +1 @@ -1b8d886206ddb2f516f2448edac43f03054aca6c +4eb0db98443ea3a75714d1046d775fa054b15045