delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2024/12/14/19:02:26

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4BF02PqW2992539
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 4BF02PqW2992539
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=hwv+Hmet
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9205E385842A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1734220943;
bh=4Zvh5YdbbzjtQwA7zdXJsR0BATyCmRwh1XZNJPE2gv4=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=hwv+HmetYOpaaCCQ4qsjkDswd4utSayo4U8vahOh/p8E0S/IvdmZn+KdsbG+xUhlV
X7XXzCUjvi9ri8Q2RNSNKhQZ355UgaSHHW0N2w3LRmMJNmrDw8Ss83EjiHPnMyMREB
3N09UmABxb+e7Os0RG/qIWd7l3QXgNZmpwvFWSaI=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53DB83858CDB
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 53DB83858CDB
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1734220847; cv=pass;
b=XrE+5hJMI2Emh5P0rxOOg3SOMcmujIS6mZBrRFQb2bEZFgM3BN5a8DO08JJfv+vQu7t5XRUcohpqAPi38XlSe5ay4RaFgDM1udbvXyKkojCgVrycNt7YMuT/Jq2d3QEkM4QEiQEkhiIVE3oRkGtDCPzmGVAIMe8Bx8MA9w502Ks=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
t=1734220847; c=relaxed/simple;
bh=Iz62ClgiGckOtCI4hkGp+ENaeLj8evOZv9T90zTcEpQ=;
h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version;
b=rUKc0YRhB12bjoXtMYYpw96p7AFPAHYC9sLYtICIyH5aPHjeYlPv0/ObSlT5c6HTxQq26C5SfcoC/VAQdCdsy2un+kXTHtYwlvHScELYbD6qp46Jyj+rLg6qIyIeLOvGiTFXYY3PyfwUkX+OSWRS3Jl8fpcBPhehNvAKPLEMoEU=
ARC-Authentication-Results: i=2; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 53DB83858CDB
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=AaitPzg5WUg+5nbtLhwVfeZoQy+723dVCIKLLRtXxRcVkjo0FDbdK4Z6pHzV3UBRyoJoFrlFx99OadsH7IRuCshRYMud2DD1MVVGv+bhBdal++9HyuhklOo3G9Pr5IdPA3soikDdSijlQVdA6+gwNBdNEBbWCHcWZjn8UgS2UEBo+EwspbDoaQdX9NUqAm+5D9/ZJ8nHQJFXIyFzzVEQckHyMhNsB0PtOVFX2YkURACL18OkUrZY6miN+Tf8UMEsRrm43yxweFYNd92rjt4GW3iZ+lo7HJESzPcr3WupMhQDCjDoKsL6ZwwtKcMS7XnoAgv8sZE46BUMtrr3HzYwcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=y2xIXS/WzJ5SI2K3Sh7KMnOGWrLC1FDmwwsP7OlQjMU=;
b=bk9ebZZQydDqZvLkizOv0pQLT8T3ZmUdbs4Vo7qls4sO1B/Bq6tI0FKVH2JxcuRcjeTuuJO/Go3WYsVntndhRerwJQHfW7Q97kuBt99rH7aF8GcS9fUBV/y1XG4KMGmnlHjzcjUTYU/UaUFPD7NThhC8CJyXNnVvSuXyNLQpmh7+Ny85dLwo4mgdrsWgZO9u20GCqrZ0lznluR7cgpxUhO+/NO4abevX/+dcGRtLrVGvW8PFrWJM1qOWhEGy4e1zQdAuwFy63dk1rA4tcWi7prHL4NsJJmaNPwtbbdZA75So8Yv7Xe712o0UPQcnKIqfQlWaZ8ComRR+itVhgbcTpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu;
dkim=pass header.d=cornell.edu; arc=none
Message-ID: <e6b3bd42-f981-405e-b65b-529693598735@cornell.edu>
Date: Sat, 14 Dec 2024 19:00:42 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: Atomic mmap replacement
To: cygwin AT cygwin DOT com
References: <66bf4f86-4618-b9a3-3e33-2c240b9204d0 AT cornell DOT edu>
<20180219090042 DOT GC3417 AT calimero DOT vinschen DOT de>
In-Reply-To: <20180219090042.GC3417@calimero.vinschen.de>
X-ClientProxiedBy: MN2PR08CA0028.namprd08.prod.outlook.com
(2603:10b6:208:239::33) To SN6PR04MB5151.namprd04.prod.outlook.com
(2603:10b6:805:90::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR04MB5151:EE_|PH0PR04MB8575:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c43fcfd-2194-4f17-9f08-08dd1c9b85bd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZkZKVlJhRlUxYk9RVlcvUHhtcW1TWkdaeS9RanpJTEk1OThMRlk0eEduWGNZ?=
=?utf-8?B?NnUxeEcxa0dmbm1ZWm44V2Qya29CdHNhWW9iTEtGZFd0MHArdEtwd055RDFO?=
=?utf-8?B?KytadVdIMlBadHRPbTBkcFRWNlovVHZTcW9MK2xFK0RNb3F4SnN3Z0ZPWThx?=
=?utf-8?B?WUI1cmNzbm5IM1RrQkpKcklRd0lVRmhCUURDcTF1Y3FJdENxU3p1bGJHOTdZ?=
=?utf-8?B?b0lwS25HR0xxRVNqUjRWdFNGcWh1UkZJYVBiVjgvS2hSaTAvYkF3a1BINmJH?=
=?utf-8?B?U0R2djhLV1YrK2tOSkRsV1pxV0k5aHZpL1lMWVhoakowckY0SElmOGxDVUlQ?=
=?utf-8?B?TWtUZkY2S1NzODR3cXNtZG9KcEMyTDlpdkFSTkxQSXBvVWo3ZjRqYXhVMUJC?=
=?utf-8?B?c0Z0Qm9iL2REbmhMWGZoMmFpNHphR0F3TkIvOGFJYTR0OG1IV0ptWFZnVkZp?=
=?utf-8?B?cjh3NjZ3YXFoQkx0ZmpGU2U2Y3paR0oyTzNjTmhOZjRpdUtPM2ZpVEovbjh1?=
=?utf-8?B?R1NlVnpYZTFGUm1Pem9mbzg5dlJLc3ZrYnIrUm1NSzZDWUw5b0xDcGNoZFNI?=
=?utf-8?B?djJnV1V5R1VxcmFKOEZZN0pEckg1NzdHcTR5V05SY0hsbmlGN0pIVzl2Mnpi?=
=?utf-8?B?YnFwZWVYYWFkMDdFUUI4VS9vMUNPakZsbVR5a3RZck5LTUdTTE9QRTk4VkI4?=
=?utf-8?B?dkdXNVppbzZlY2hIeVJ5eEoyVFk3NnZtZzdWUFc4dkIrdkQ4clZCOFhoQm5Y?=
=?utf-8?B?S1lFemlONTh4UmoxRVhJeHpNTmk4c1ljR1pqYjU3UDVJUklIck9ULzd4WDZP?=
=?utf-8?B?VVNlRnFXNHMzZnFwV0xGenc2dFd6U2g5R3FSOGpqMExIcW11bkdqMlMxdnFX?=
=?utf-8?B?NEw5WXB5TmRIOHJYRU1tTy9aRWcrMGVpMDVtY0ZFRzNONmhQWDY5ellNWWJQ?=
=?utf-8?B?bDNETm9DbXRtZkxUTjlUbXlFeUR3TGR5NUFXcDYvVXBJZEpiblpjUVo0N2Vr?=
=?utf-8?B?cTNwSTBTN0dMeEZDc2ZWNkZrNVFtbEE5bHBlOXJwMnlTS3VISDlxNXZBWmNa?=
=?utf-8?B?bEFIMVhTQ3hWK1BLZ1dxL09DdmgyeDk4blUzcStTTXI2MnB1em0vUkxxV2d3?=
=?utf-8?B?Tlg3VFB6dkFEQS9jK29HMTJKR296T0JCUnJPV1ZnbThwcHFZV3oxaGZha0FJ?=
=?utf-8?B?ZlRXMnRKdktKbnRBTVR0YUtLdmhXamFuekxXYk9VM0lPdktVMCtvYWdGdVdt?=
=?utf-8?B?WGdWYmhEVnZqUERoeWNyZjFaVjliOXRMbnBCQU90VFpoK3YxcnNPYktzTlpV?=
=?utf-8?B?blZ2c3ZXRjd0QXd2NG5hUmN3c1lFMm4zZFI4QVQ1RGsyNUdtT21CMnIvbXVC?=
=?utf-8?B?VXl0Mm90NnZmYnVrYnU1ZTB5eVh6OTJxdE82NWJnMDdSL3JEL0FCdkdXM2w2?=
=?utf-8?B?T2htQjBXV216MUJMWXNoK2trTzUvRHBwNGZZWm51MnJvd0lNeFBpYUJvdzhl?=
=?utf-8?B?RGFCL0F0QmI3SW9HOGVoNjBRaDNhVk1UQjJMczAweUhzUG01ZUs4TVpxMVJK?=
=?utf-8?B?K0xYSWdvWXNXQVB1SG9DSkoycy9DWWZRRlhvcnpleHhMamtCemZkZmw0NU1B?=
=?utf-8?B?dGwyVUVYVU03dXlnUlhlRzJMWW8yL3FBa1ZESkFGMXVGMkh1K01WaG1iRDcx?=
=?utf-8?B?VXZ5Rzh6VUtxRlBVMFhaZm9SeVEwTjdhcjhpRjFTSmNURWpzU0xUeCtiSjdQ?=
=?utf-8?B?WnRIcGk1WnJjRnNLc2xXY1FyNE4rSUdYQVM5bzZYeFlZdDZ2Ym1yZ3g3SFRJ?=
=?utf-8?B?VlBYbEhOK0JFZFI2STBwRGhOejhmVnVZemk5MGZIOU1KKzB4L1diSUtSNkZj?=
=?utf-8?Q?xMYsANdmzPVyq?=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
IPV:NLI; SFV:NSPM; H:SN6PR04MB5151.namprd04.prod.outlook.com; PTR:; CAT:NONE;
SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SGFzVExoUXF0U1VFTmp2S3RVQVErLy9SS0Q5cUZJM2FaaVdxS2NEWVR4dFd4?=
=?utf-8?B?ZXgvRzBRL2pEUmdTQUdpZlVKTGkydThLY0dtZXVBdWpwSjlHajYyRGVZaUJV?=
=?utf-8?B?bXg5QlB6eGVwRkhDRUtZVTgxWGxjQ250YVJNSzgxYkc2d3k4bk0wSEJjWjdn?=
=?utf-8?B?L1dyR3d2NDE3SEErZjJaeFhsTldKV2ZMWnIwOFQ4U0ZvSW5WYWh5dDBkZXh3?=
=?utf-8?B?YmNncUJYRkxYc1l5V0o5c0JwUXJvejdkVHlVb2hpTW9UL3kzSDJHZWdXWnJv?=
=?utf-8?B?REhoYWdMVGNZZGIrNFliZjdIcG1pU1ZIeitqaE1oSTJnUXkvNExuditYaW5L?=
=?utf-8?B?Nk9aNUt4S3VRdWFrMUtRQytVaTlpalM0Z3FaTWt4WThGVVFaV2ZQQjdsWitw?=
=?utf-8?B?SEpneTcyYlRIaE9wWFYwSTg1MSt6d1ZtUDBlZm0zU0pBMWV0MjJEU0o4L1Uy?=
=?utf-8?B?MUZoU050bmFvUEFWcnZHUXFGQnVucFZMUE1NVUxuQVNJYVhlRGRobDgyTEY4?=
=?utf-8?B?ZzdJTE1Lb0FVTmdkakFQV3EzSDhuSkRORTZXV0FEQzBJYlBwQU9NYlI2MHQr?=
=?utf-8?B?dGJJVlVuejZubUQxd050NmpETm1CVk9oQ1c0MUNRS29DT1Bvcis2clpTUTRU?=
=?utf-8?B?cFBlUWZrUFVoL0R5R2ZCK2ZHVzd4Z2J6YTNaU1lndkJzTHF4WDhBSU9nM2Rv?=
=?utf-8?B?SHNQUmppRXQycnJLbDdodUxIb3prRUcrYWNvczM1WlpyWWhPWjQvYmNsNyt4?=
=?utf-8?B?aUV4Mk03MmgxdkE1WFNMM2JDUklveit4V2gzZDhxeGZ1Y3p6NkZCeThQVDN3?=
=?utf-8?B?aVdyd2s2OGEvVGFkK2F3KzBPTHNrYklqdGZZWTlUTW5Ibm9GMkM4bnQ1MG9T?=
=?utf-8?B?ZkxUZDNYSVVudGloUXpIbDFKeXNyT1NGN3ZiSkFENEg3Zkl6ZS9QbFV6QUJa?=
=?utf-8?B?ZWVtSXJLOVFIZXFZN0x6cDg1RGQzZE5VMlRBODZpbVlDbldrOWVCSWNodExU?=
=?utf-8?B?NWNYRHhIQnhVeXA2NFRqZ08wRm1tMDJhb1lCRDJ2RnlOcXVpZFlwWnI4dU5t?=
=?utf-8?B?cHVqMzZtMlg0WjBuVFAvRXNGWmtKc1N3RU5udld4c3Mvai9vR2s4ektEMmZH?=
=?utf-8?B?dW9JRHhXQVkreGQ1Sy92UjBSL3hQRzBrNHpaek9MRDJPanBYdnNFdHdxSmt5?=
=?utf-8?B?REFLc3RNWU13ZmlxMnpBSEptdTBUR3cwZUJNbjNxVkN0WnVhRUMxZUVQU3VG?=
=?utf-8?B?RG5nWjZLNlg2NzlZcEFPbkdOaFZlUUdNQWVDcFpIV2NVSHl3d0g4LzdSbk1x?=
=?utf-8?B?N21TRDd5UFRSK1RWQWZxYVpKOGdDeHFjRDJUWHFMNGY2ZG9QYWt6bUQvWlVm?=
=?utf-8?B?cWowb2FJdW1WKzRtM2NZdndZcjF1VjNXcHRnRWVXc0plUmp0VVYxQmMxWFhD?=
=?utf-8?B?RzIxeTB6OE0wOG1DU1ZWNjg0U1ZicDNtN3ZmV3NWQ2VDZGx0bFpHZGdCcXRK?=
=?utf-8?B?UW04QTlHbWJJREdwZ1pFbmlqczNsbWN3VVhBQS9KYlF4bWVqYk9zME5JRC9H?=
=?utf-8?B?em11c3VGc0hOTmVQdjF4cDB6bFA3Z1I4RzVHOHZmY3BjRXNMQldSZWJHN3R5?=
=?utf-8?B?TzRQSXRvaWtXZUJVZDNzRzQ3N0x1N2JLQm9JOFlXL2ZBbExldGozUW9XMmdw?=
=?utf-8?B?NGI4NW54WCtkOFJBZ2xoVlkzZDY2K3FZaWI0MDJ6K1EyZDBaL2p3NW1hUUJi?=
=?utf-8?B?LzJmbXhKeGFaR2dkZnlxbFEwWitLY2FkazhyMVFWMWFZNVBkc3NIMXN4TjMx?=
=?utf-8?B?YzBHY0F4T3Fac2hoYmdDT2FWNFVPRDhVTE1uOUIyRWZRdEgzejlWSHlwUSty?=
=?utf-8?B?KzRjamtYWmIzZGVKZlNHTll4Wm9qZmViVjl0d1M3N094MzV2VDVIMFU5Sm1j?=
=?utf-8?B?V3V4VnUrdmVPRTBPcFJnQnhndTRqZnIxWGFESFNRc2VQYXZMUUU1R2F2eFV4?=
=?utf-8?B?V0R4M1NWK1Zzd25jQnRtejAzZU5ad29wY0oxSVlFY3lJUThnZUpDd0gvY0Js?=
=?utf-8?B?dktwQUFadlRIWEx0UE1CZmN2UFhEWHlxdlRDUFUvUm42VXI3U0JkbzVYemxX?=
=?utf-8?Q?H3YYxXqlobYnV8pVTP+0sKEew?=
X-OriginatorOrg: cornell.edu
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c43fcfd-2194-4f17-9f08-08dd1c9b85bd
X-MS-Exchange-CrossTenant-AuthSource: SN6PR04MB5151.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2024 00:00:44.8229 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kuBNKeCe1zRrTklEmQ2ZgZ4DF+vDZEPX9V6Fe3B85sRHaN6bFt1FcGIZLMvBq8JHFboAUpzGu+tXlNz4Sv9P6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR04MB8575
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Ken Brown via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Ken Brown <kbrown AT cornell DOT edu>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

--------------0v79Fc7RvzNV5ZSGjUu6bG9w
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Corinna,

On 2/19/2018 4:00 AM, Corinna Vinschen wrote:
> On Feb 17 22:37, Ken Brown wrote:
>> Some code in emacs wants to reserve a chunk of address space with a big
>> PROT_NONE anonymous mapping, and then carve it up into separate mappings
>> associated to segments of a file.  This fails on Cygwin.

[...]

> Several limitations in the Windows kernel disallow this:

[...]

> - It also disallows to re-map any allocated or mapped mamory for another
>    purpose.
> 
> So this part of the POSIX specs for mmap:
> 
>    "The mapping established by mmap() shall replace any previous mappings
>     for those whole pages containing any part of the address space of the
>     process starting at pa and continuing for len bytes"
> 
> can't be implemented with Windows means.

I'm returning to this very old thread because of come up against another 
application that wants to allocate a big block of memory and then 
allocate pieces of it later.  I've looked at the documentation of 
VirtualAlloc, and it seems that this should be possible:

    VirtualAlloc cannot reserve a reserved page. It can commit a page
    that is already committed. This means you can commit a range of
    pages, regardless of whether they have already been committed, and
    the function will not fail.

    You can use VirtualAlloc to reserve a block of pages and then make
    additional calls to VirtualAlloc to commit individual pages from
    the reserved block. This enables a process to reserve a range of
    its virtual address space without consuming physical storage until
    it is needed.

The attached test case illustrates this.  Do you think it's feasible to 
modify mmap to take advantage of this?  If you try to mmap a block 
that's inside an already allocated block, I would want mmap to call 
VirtualAlloc with MEM_COMMIT but not MEM_RESERVE, and this should succeed.

If you think this is feasible, I would be willing to work on it.  But in 
that case I would appreciate some suggestions on how to implement it, 
since I'm not yet very familiar with the mmap code.

Ken
--------------0v79Fc7RvzNV5ZSGjUu6bG9w
Content-Type: text/plain; charset=UTF-8; name="test.c"
Content-Disposition: attachment; filename="test.c"
Content-Transfer-Encoding: base64

I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHdpbmRvd3Mu
aD4KCmNvbnN0IFNJWkVfVCBzaXplID0gNjQgKiAxMDI0OwoKaW50Cm1haW4gKCkKewogIExQVk9J
RCBiYXNlID0gVmlydHVhbEFsbG9jIChOVUxMLCAyICogc2l6ZSwgTUVNX1JFU0VSVkUgfCBNRU1f
Q09NTUlULAoJCQkgICAgICBQQUdFX05PQUNDRVNTKTsKICBpZiAoYmFzZSA9PSBOVUxMKQogICAg
ewogICAgICBwcmludGYgKCJWaXJ0dWFsQWxsb2MgZmFpbGVkIHdpdGggZXJyb3IgY29kZSAlZFxu
IiwKCSAgICAgIChpbnQpIEdldExhc3RFcnJvciAoKSk7CiAgICAgIGV4aXQgKDEpOwogICAgfQoK
ICBMUFZPSUQgcmVzID0gVmlydHVhbEFsbG9jIChiYXNlLCBzaXplLCBNRU1fQ09NTUlULCBQQUdF
X0VYRUNVVEVfUkVBRFdSSVRFKTsKICBpZiAocmVzID09IE5VTEwpCiAgICB7CiAgICAgIHByaW50
ZiAoIlZpcnR1YWxBbGxvYyBmYWlsZWQgd2l0aCBlcnJvciBjb2RlICVkXG4iLAoJICAgICAgKGlu
dCkgR2V0TGFzdEVycm9yICgpKTsKICAgICAgZXhpdCAoMik7CiAgICB9CgogIHJlcyA9IFZpcnR1
YWxBbGxvYyAoYmFzZSArIHNpemUsIHNpemUsIE1FTV9DT01NSVQsIFBBR0VfRVhFQ1VURV9SRUFE
V1JJVEUpOwogIGlmIChyZXMgPT0gTlVMTCkKICAgIHsKICAgICAgcHJpbnRmICgiVmlydHVhbEFs
bG9jIGZhaWxlZCB3aXRoIGVycm9yIGNvZGUgJWRcbiIsCgkgICAgICAoaW50KSBHZXRMYXN0RXJy
b3IgKCkpOwogICAgICBleGl0ICgzKTsKICAgIH0KCiAgcmVzID0gVmlydHVhbEFsbG9jIChiYXNl
LCBzaXplLCBNRU1fUkVTRVJWRSwgUEFHRV9FWEVDVVRFX1JFQURXUklURSk7CiAgaWYgKHJlcyA9
PSBOVUxMKQogICAgewogICAgICBwcmludGYgKCJWaXJ0dWFsQWxsb2MgZmFpbGVkIHdpdGggZXJy
b3IgY29kZSAlZFxuIiwKCSAgICAgIChpbnQpIEdldExhc3RFcnJvciAoKSk7CiAgICAgIGV4aXQg
KDQpOwogICAgfQp9Cg==

--------------0v79Fc7RvzNV5ZSGjUu6bG9w
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------0v79Fc7RvzNV5ZSGjUu6bG9w--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019