From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32155 invoked from network); 15 Jan 2021 03:14:52 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 15 Jan 2021 03:14:52 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1610680492; b=DDsbHGNwZxlac5kmlnKjuXxnMcnTM9zxGP/p8gsE04evEdA/f0k08/2EM9qGSPZNgPZfWlCKoT nveBt8T/0FCq0UHRsFiPFspF+dlJ534aftxHFn8g2bkbwmwoTMCGaB9tkKRQieUyDf9pyvTgy2 XU/hHcFIbfywaI7fT+VVqUfMVmyU7l43rXjlV8ShLM8dBQZap0UsLHss6UKSJIBZ3GlgKjLJP+ 0XXZLDMKmYKTw3OFq5s99+Tf162/r5Jnf+DwRZl32cl3SalDk3Iap+HsQZySF/udp6RtW1x+A7 HzMLJ0G07MRhOtthOp4zTwFUN23JogbU5za8QLRUGTNtvQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-pj1-f50.google.com) smtp.remote-ip=209.85.216.50; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1610680492; bh=gueLSyz9vIHVSigdnALj5uO/Yyovqr09izztLAdXjJo=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:MIME-Version: DKIM-Signature:DKIM-Signature; b=jOgJEmx1/uGD2d2bce6+bekdSVNP0c4glk0wprYK5188bo9OsnCnouxbDXbQXzaHpHVYPHD1K5 rNOLW67uSc82foIMe6a8uQ5RjX8bahPLWvLLPWZhxAm0JVC+PdKEqplLvvWCm+Ar+DNzIh9xXX RYHDRtGyHQkEDBtW8BseAtnVpAS7IxuSKmP6ctcnQVFFxLBetdEEHH//hIMt7BvXTPR/W+XI0Q +FFcIaCk7lE4tPxFb48N6/UVhfNBlCMsmUUow0aT1CZbeKxvpJ3Lyn2QSERSlaS5K98fmRq4ev 0+seiGV1R6t3Y6c1rz8jrSOvyN7nxXsltllrOqQF6cE4Lw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:To:Subject:Message-ID: Date:From:MIME-Version:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=CotFzPE6TDZFI/C6PYX86+cbhqDsvklrKSj3af1jUOo=; b=op+YFLkbHP9ld2wr6lbncYsMXj 27/jostdNPsiPrYLL+CatfedtyIxwmLIpOClRickGz7Srq+b+eHUxWS1iXdWQn8aovA4Dhr1GcF5K l/gY1cUzfH3E2GeynY2b8o9KH6uyKfF0dzJRsnZt7+9lbmzFNQozfoItnhPA6hvql9OIjQZvOzlug 5C2ZWz5nR4mHEStmMLn/C1BLLnAOpGvIgWZcgBEUiS0Q3osq1aBiWSrQ8KZad2OMGxJ+wAok/Zpro RflZ/XrtMTP3oN5sSD1IX6mX3kc0iTsvz9EVMt9wJNBip1+tsEhAF9N3LXsOByNWudMuuaX2BhWq3 HMtOFB2g==; Received: from authenticated user by zero.zsh.org with local id 1l0FZb-000GuP-9N; Fri, 15 Jan 2021 03:14:51 +0000 Authentication-Results: zsh.org; iprev=pass (mail-pj1-f50.google.com) smtp.remote-ip=209.85.216.50; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-pj1-f50.google.com ([209.85.216.50]:55361) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1l0FZK-000Gk8-6w; Fri, 15 Jan 2021 03:14:35 +0000 Received: by mail-pj1-f50.google.com with SMTP id ce17so2110596pjb.5 for ; Thu, 14 Jan 2021 19:14:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=CotFzPE6TDZFI/C6PYX86+cbhqDsvklrKSj3af1jUOo=; b=iKU/goD4z4IY7Hjgg9v/KQkSrqWlfT3eN7hPsb/f0K1+/jGz8ikgrJcuDd8f+06Z/e VslCl7of4jWsjEWehyJ0cv/VtedQRstUnRhlHpdt2GMofMUPAeFkS6wmFk8WslJiSm8p u0xJ/1kkBarcZ4G29413zHNq9SltDNbPFxttN2IOH1f3P/TiVI2AbECmyRFwZIa1iIU5 u/DYDeiLHBCn5A0lZGB/isTcFKA1K+7gX+Z9j3PBQoIZcCaxsGKAQk7aynqdnTpvnbUE ZfGFus66679d5f7FsgZRvKHr/ds/jc+LnoDgzjYbenQohsbH5P85OkvbmZLbqSM5Q8hE z7Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=CotFzPE6TDZFI/C6PYX86+cbhqDsvklrKSj3af1jUOo=; b=AB1rS0ysArlR9STMmmq/iwOuIvjim2Yg9j3SN7Cg1oDMZUzZ1jf8zy4SIaH6bebNYR uInuSgi+9+w1njt21hTCcRFecK7uos4JJ0YJMUvcA5V5O/S5FC+rMcGh3rZPr0wzR2aW ZPdev/Q65nzEH77eCB89ng7QTLG8XXmiRfDXKuvLlKCHBu3/XZVGl41Rs1pZDgcatQ/V Efu9wJfSKEu9E5kjRar/ZmHM+Go7NgeBoMuiHbU0WIqhQSFcubYeY6x0gSsy2JdOf3hF L+ybGY7sh4OJIGi4ewjcWsrgjYrBo+THhi08ySS+8W02WpkJi9gV+nP22Jzws12qz62i lCcg== X-Gm-Message-State: AOAM532lbkiFZrybrTosJHTdPRFt0oTUzoW5853IXmBscd8o9krVpUpH RQ2YL8Oj1jtks/iPJQ3JWvcBZxTEayLQB8UleLA+3wlmqNY= X-Google-Smtp-Source: ABdhPJyd7OZQDiRgCEg9Ii0TqanubZ5zQ5Fe2Qjw9qbJsrdUtp0+EC+vtYwInrNwK5ZAvwICkPylvcD+MAL6hzPBtOA= X-Received: by 2002:a17:90a:be06:: with SMTP id a6mr8363419pjs.47.1610680472473; Thu, 14 Jan 2021 19:14:32 -0800 (PST) MIME-Version: 1.0 From: Peiyuan Song Date: Fri, 15 Jan 2021 11:14:23 +0800 Message-ID: Subject: [PATCH] Make zpty module work in the cygwin and msys2 To: zsh-workers@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 47833 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: cygwin have /dev/ptmx, need defined `_GNU_SOURCE 1` to use it, but configure check /dev/ptmx is usable only defined it for linux. Another probleam is cygwin upstream have an issue https://cygwin.com/pipermail/cygwin-developers/2021-January/012030.html, because of that issue, movefd will broken the fd opened by posix_openpt, so that we mast disable movefd in zpty until cygwin fix that issue. --- Src/Modules/zpty.c | 2 ++ configure.ac | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Src/Modules/zpty.c b/Src/Modules/zpty.c index 45fd15ee0..eadb7ceac 100644 --- a/Src/Modules/zpty.c +++ b/Src/Modules/zpty.c @@ -428,6 +428,7 @@ newptycmd(char *nam, char *pname, char **args, int echo, int nblock) mypid = 0; /* trick to ensure we _exit() */ zexit(lastval, ZEXIT_NORMAL); } +#ifndef __CYGWIN__ master = movefd(master); if (master == -1) { zerrnam(nam, "cannot duplicate fd %d: %e", master, errno); @@ -435,6 +436,7 @@ newptycmd(char *nam, char *pname, char **args, int echo, int nblock) ineval = oineval; return 1; } +#endif p = (Ptycmd) zalloc(sizeof(*p)); diff --git a/configure.ac b/configure.ac index 549cae3d6..16dafac05 100644 --- a/configure.ac +++ b/configure.ac @@ -2460,7 +2460,7 @@ if test x$ac_cv_have_dev_ptmx = xyes -o x$ac_cv_func_posix_openpt = xyes && \ test x$ac_cv_func_ptsname = xyes; then AC_CACHE_CHECK([if /dev/ptmx is usable], ac_cv_use_dev_ptmx, - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef __linux + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__linux) || defined(__CYGWIN__) #define _GNU_SOURCE 1 #endif #include -- 2.30.0.windows.1