Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u432d-006vMN-RH for pgsql-hackers@arkaria.postgresql.org; Sun, 13 Apr 2025 19:30:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u432b-009Spj-Kg for pgsql-hackers@arkaria.postgresql.org; Sun, 13 Apr 2025 19:30:54 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u432b-009Spb-1z for pgsql-hackers@lists.postgresql.org; Sun, 13 Apr 2025 19:30:54 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u432Z-0009xx-0Z for pgsql-hackers@postgresql.org; Sun, 13 Apr 2025 19:30:52 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-aaf0f1adef8so662046366b.3 for ; Sun, 13 Apr 2025 12:30:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1744572648; x=1745177448; darn=postgresql.org; h=in-reply-to:references:cc:from:to:subject:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=na5d025N+EQb019Ygfu99EwNceQu6emMtjKK6lYGvp4=; b=FFy1louGEc78UTUwusj2M3WpCyYn/ohcR96DE51JO9N5K6I+npB1I7ULHmhlhNHkp/ hsNVak+emNhIwXXrLVgT+pyjKGtp8PrGEYH0htx5FGn1ROvseyUIgpho64erdNh3H1oO qEQzyc1R04E7+wxzlQpfogIk6r7moG0UF/mxnOwNISVR751ZWl7LdzOxJWIzgikkoNqt UU3GUnkwjl0taCut5B3cxYKrTX1GgnX4V8WjsQXW3gracgyKELjln2WSHifMEual6DZJ PEc66iNDU/Wsj7WweVx4ijApz7KjPmQDep2W2kJ5ngkNnYqHAjH/vTQ9rThieyhDYAhP JeTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744572648; x=1745177448; h=in-reply-to:references:cc:from:to:subject:message-id:date :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=na5d025N+EQb019Ygfu99EwNceQu6emMtjKK6lYGvp4=; b=gSkW5hQ12oqi4M3XqC4LM4CV8ZtgZ8OYlbiXc/rxaBNVnoLrOec684oqP7as62Qwx8 oqUIyOYgdVIZWMB9H6E2sv8MRKHQzUuI0I6EEmAPEqvDAhu3M0FnWHYqWOYRhvEkH3k2 UU6SKsI5rmhYCD5XUDhveZ/vYtYeVDqY9G+6lDeAqo+HeAWBrl2SWhDDfA4rDJCfiQ9Z Td2ppXAb8keYHYLmHfbyr5//Q0QyocUEpeP9J+rGJWcHj0Zhj5bigUAu3Y5EbQBI9Ycx tREDZdgMEqZHZhbFEhuAy2o4Tbv3ocVFclF6U8kmfC3vOC9kfpF5sLySOGJDVZFbbLeY GAhQ== X-Forwarded-Encrypted: i=1; AJvYcCVLvEHL5Rt/vOPrdnbmGTUoLJIe23t8OZR00So8goWTd24jF+CBReYjrxRWPvyHzadjuUD7ci3il8LQ/CSp@postgresql.org X-Gm-Message-State: AOJu0YxcAw7gY27NAG6TTR6K72Pa/sDOwvhPM+4PrSiExeqfRWjSXOm/ SW+a4bSuc1Lnlf6LBQDLcUQQpQdczsFegrc/nMfpWn/xMk1vA9uJ+LXrglOYWXg= X-Gm-Gg: ASbGnct9NsbO3tP2Vvd+C2npvzSgdBU3qLP1H2R5odbj8UAVHeO1hwEh2q08yqP4l4p n7Vw7n9XF6VeCi+clOxpsHI82unjEFzADzW2XxUtc9bz7OwsUvpeOtk2pFCwfuGwrGhGJRDe1dL qo4Fh7rPCgtaSFcXlMb+TO9sFWJGDsES75+IsnkEBzPOyY+Fq4h54oSLOTdKawae37EhgHvyWbU lDQngCpUTWFvAQhLI6Mizm2n6mXbZ2NLv/Mj9woB3CoCIOwFT9htrHWKflvixybfDBjJeuSSaeq R/q+OMf21w9OSe42NAaKKyADHxUhmTTsyPTzfb2izMkYlwh/AZ+O1Agh8L4zkupRWg== X-Google-Smtp-Source: AGHT+IHz4U60+jl5ufxLgyeB8Hn9srM8r5Igjb2DSmyg7zJTRfGct+xE6AQCEuG5B323BVe/MgU7Qw== X-Received: by 2002:a17:907:da16:b0:ac7:3916:327c with SMTP id a640c23a62f3a-acad36d93femr906076466b.59.1744572648132; Sun, 13 Apr 2025 12:30:48 -0700 (PDT) Received: from localhost (145-53-221-196.fixed.kpn.net. [145.53.221.196]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f36f06a2c3sm3788184a12.40.2025.04.13.12.30.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 13 Apr 2025 12:30:47 -0700 (PDT) Content-Type: multipart/mixed; boundary=96bd550a435cfa53434e1c41781cd5b8345ca9c962d2929f07ac0d04aa26 Mime-Version: 1.0 Date: Sun, 13 Apr 2025 21:30:46 +0200 Message-Id: Subject: Re: Bump soft open file limit (RLIMIT_NOFILE) to hard limit on startup To: "Heikki Linnakangas" , "Andres Freund" From: "Jelte Fennema-Nio" Cc: "Tom Lane" , "Tomas Vondra" , "PostgreSQL-development" X-Mailer: aerc 0.20.1-31-gf6db7c329ce0 References: <3203865.1739301613@sss.pgh.pa.us> <94798ef1-0f13-416a-983a-88447e434a7f@vondra.me> <7u7dbn6s2i6bf3hjzkbqaexj2bpoblqxwbkffbetl4rjv6dcom@s2uickjc5z53> <3216369.1739308717@sss.pgh.pa.us> <4huky7iczrycvq3ptpjkkzrclsabqceu6jyppizotjafqywq5g@g4eynaqxjog5> <9004aa84-4ea3-414f-9268-101510f41a29@iki.fi> In-Reply-To: <9004aa84-4ea3-414f-9268-101510f41a29@iki.fi> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --96bd550a435cfa53434e1c41781cd5b8345ca9c962d2929f07ac0d04aa26 Content-Type: multipart/alternative; boundary=a01e6418371599e69e0b8872313e976911cd282e3ddd8706e5757912699c --a01e6418371599e69e0b8872313e976911cd282e3ddd8706e5757912699c Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Fri Apr 4, 2025 at 7:34 PM CEST, Heikki Linnakangas wrote: > Let's move that 'in_restore_command' business to the caller. It's weird= =20 > modularity for the function to implicitly behave differently for some=20 > callers.=20 I definitely agree with the sentiment, and it was what I originally planned to do. But then I went for this approach anyway because commit 8fb13dd6ab5b explicitely moved all code except for the actual call to system() out of the PreRestoreCommand()/PostRestoreCommand() section (which is also described in the code comment).=20 So I didn't move the the in_restore_command stuff to the caller, and improved the function comment to call out this unfortunate coupling.=20 > And 'wait_event_info' should only affect pgstat reporting, not=20 > actual behavior. Given that we need to keep the restore command stuff in this function, I think the only other option is to add a dedicated argument for the restore command stuff, like "bool is_restore_command". But that would require every caller, except for the restore command, to pass an additional "false" as an argument. To me the additionaly noise that that adds seems like a worse issue than the non-purity we get by piggy-backing on the wait_event_info argument. > I don't feel good about the function name. How about pg_system() or=20 > something?=20 Done=20 > postmaster/startup.c also seems like a weird place for it;=20 > not sure where it belongs but probably not there. Maybe next to=20 > OpenPipeStream() in fd.c, or move both to a new file. Moved it to fd.c > Looks a bit funny that both functions are called Restore().=20 > Not sure what to suggest instead though. Maybe RaiseOpenFileLimit() and= =20 > LowerOpenFileLimit(). Changed them to UseOriginalOpenFileLimit() and UseOriginalOpenFileLimit() > What would it take to re-implement popen() with fork+exec? Genuine=20 > question; I have a feeling it might be complicated to do correctly on=20 > all platforms, but I don't know. I initially attempted to re-implement it, but after looking at the fairly complex FreeBSD implementation of popen[1] that suddenly seemed more trouble than it's worth. [1]: https://github.com/freebsd/freebsd-src/blob/c98367641991019bac0e8cd55b= 70682171820534/lib/libc/gen/popen.c#L63-L181 --a01e6418371599e69e0b8872313e976911cd282e3ddd8706e5757912699c-- --96bd550a435cfa53434e1c41781cd5b8345ca9c962d2929f07ac0d04aa26 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0001-Adds-a-helper-for-places-that-shell-out-to-system.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0001-Adds-a-helper-for-places-that-shell-out-to-system.patch RnJvbSA1ZGJhYjJjY2YwZDc0MzEzZGJjMmNiYWViNDE4MzQ2ZGU4Y2MyZjQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8Z2l0aHViLXRlY2hAamVsdGVm Lm5sPgpEYXRlOiBTdW4sIDIzIEZlYiAyMDI1IDE2OjUyOjI5ICswMTAwClN1YmplY3Q6IFtQQVRD SCB2OCAxLzNdIEFkZHMgYSBoZWxwZXIgZm9yIHBsYWNlcyB0aGF0IHNoZWxsIG91dCB0byBzeXN0 ZW0oKQoKV2UgbmVlZCB0byBjYWxsIHN5c3RlbSgpIGluIGEgZmV3IHBsYWNlcywgYW5kIHRvIGRv IHNvIHNhZmVseSB3ZSBuZWVkCnNvbWUgcHJlL3Bvc3QtZm9yayBsb2dpYy4gVGhpcyBlbmNhcHN1 bGF0ZXMgdGhhdCBsb2dpYyBpbnRvIGEgc2luZ2xlClN5c3RlbSBoZWxwZXIgZnVuY3Rpb24uIFRo ZSBtYWluIHJlYXNvbiB0byBkbyB0aGlzIGlzIHRoYXQgaW4gYSBmb2xsb3cKdXAgY29tbWl0IHdl IHdhbnQgdG8gYWRkIGV2ZW4gbW9yZSBsb2dpYyBwcmUgYW5kIHBvc3QtZm9yay4KLS0tCiBzcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nYXJjaGl2ZS5jIHwgMjkgKystLS0tLS0tLS0tLS0t LQogc3JjL2JhY2tlbmQvYXJjaGl2ZS9zaGVsbF9hcmNoaXZlLmMgICAgICB8ICA1ICstLQogc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci9zdGFydHVwLmMgICAgICAgICB8ICAxICsKIHNyYy9iYWNrZW5k L3N0b3JhZ2UvZmlsZS9mZC5jICAgICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKysrKysr KysKIHNyYy9pbmNsdWRlL3N0b3JhZ2UvZmQuaCAgICAgICAgICAgICAgICAgfCAgMSArCiA1IGZp bGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dhcmNoaXZlLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvdHJhbnNhbS94bG9nYXJjaGl2ZS5jCmluZGV4IDFlZjE3MTNjOTFhLi5jNzY0MGVj NTAyNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ2FyY2hpdmUu YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nYXJjaGl2ZS5jCkBAIC0xNTgs MjcgKzE1OCw4IEBAIFJlc3RvcmVBcmNoaXZlZEZpbGUoY2hhciAqcGF0aCwgY29uc3QgY2hhciAq eGxvZ2ZuYW1lLAogCQkJKGVycm1zZ19pbnRlcm5hbCgiZXhlY3V0aW5nIHJlc3RvcmUgY29tbWFu ZCBcIiVzXCIiLAogCQkJCQkJCSB4bG9nUmVzdG9yZUNtZCkpKTsKIAotCWZmbHVzaChOVUxMKTsK LQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQoV0FJVF9FVkVOVF9SRVNUT1JFX0NPTU1BTkQpOwot Ci0JLyoKLQkgKiBQcmVSZXN0b3JlQ29tbWFuZCgpIGluZm9ybXMgdGhlIFNJR1RFUk0gaGFuZGxl ciBmb3IgdGhlIHN0YXJ0dXAgcHJvY2VzcwotCSAqIHRoYXQgaXQgc2hvdWxkIHByb2NfZXhpdCgp IHJpZ2h0IGF3YXkuICBUaGlzIGlzIGRvbmUgZm9yIHRoZSBkdXJhdGlvbgotCSAqIG9mIHRoZSBz eXN0ZW0oKSBjYWxsIGJlY2F1c2UgdGhlcmUgaXNuJ3QgYSBnb29kIHdheSB0byBicmVhayBvdXQg d2hpbGUKLQkgKiBpdCBpcyBleGVjdXRpbmcuICBTaW5jZSB3ZSBtaWdodCBjYWxsIHByb2NfZXhp dCgpIGluIGEgc2lnbmFsIGhhbmRsZXIsCi0JICogaXQgaXMgYmVzdCB0byBwdXQgYW55IGFkZGl0 aW9uYWwgbG9naWMgYmVmb3JlIG9yIGFmdGVyIHRoZQotCSAqIFByZVJlc3RvcmVDb21tYW5kKCkv UG9zdFJlc3RvcmVDb21tYW5kKCkgc2VjdGlvbi4KLQkgKi8KLQlQcmVSZXN0b3JlQ29tbWFuZCgp OwotCi0JLyoKLQkgKiBDb3B5IHhsb2cgZnJvbSBhcmNoaXZhbCBzdG9yYWdlIHRvIFhMT0dESVIK LQkgKi8KLQlyYyA9IHN5c3RlbSh4bG9nUmVzdG9yZUNtZCk7Ci0KLQlQb3N0UmVzdG9yZUNvbW1h bmQoKTsKLQotCXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKKwkvKiBDb3B5IHhsb2cgZnJvbSBh cmNoaXZhbCBzdG9yYWdlIHRvIFhMT0dESVIgKi8KKwlyYyA9IHBnX3N5c3RlbSh4bG9nUmVzdG9y ZUNtZCwgV0FJVF9FVkVOVF9SRVNUT1JFX0NPTU1BTkQpOwogCXBmcmVlKHhsb2dSZXN0b3JlQ21k KTsKIAogCWlmIChyYyA9PSAwKQpAQCAtMzI1LDExICszMDYsNyBAQCBFeGVjdXRlUmVjb3ZlcnlD b21tYW5kKGNvbnN0IGNoYXIgKmNvbW1hbmQsIGNvbnN0IGNoYXIgKmNvbW1hbmROYW1lLAogCS8q CiAJICogZXhlY3V0ZSB0aGUgY29uc3RydWN0ZWQgY29tbWFuZAogCSAqLwotCWZmbHVzaChOVUxM KTsKLQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQod2FpdF9ldmVudF9pbmZvKTsKLQlyYyA9IHN5 c3RlbSh4bG9nUmVjb3ZlcnlDbWQpOwotCXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKLQorCXJj ID0gcGdfc3lzdGVtKHhsb2dSZWNvdmVyeUNtZCwgd2FpdF9ldmVudF9pbmZvKTsKIAlwZnJlZSh4 bG9nUmVjb3ZlcnlDbWQpOwogCiAJaWYgKHJjICE9IDApCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9hcmNoaXZlL3NoZWxsX2FyY2hpdmUuYyBiL3NyYy9iYWNrZW5kL2FyY2hpdmUvc2hlbGxfYXJj aGl2ZS5jCmluZGV4IDgyODcyM2FmZTQ3Li42NGMyYzZhYTc2MCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYXJjaGl2ZS9zaGVsbF9hcmNoaXZlLmMKKysrIGIvc3JjL2JhY2tlbmQvYXJjaGl2ZS9z aGVsbF9hcmNoaXZlLmMKQEAgLTc1LDEwICs3NSw3IEBAIHNoZWxsX2FyY2hpdmVfZmlsZShBcmNo aXZlTW9kdWxlU3RhdGUgKnN0YXRlLCBjb25zdCBjaGFyICpmaWxlLAogCQkJKGVycm1zZ19pbnRl cm5hbCgiZXhlY3V0aW5nIGFyY2hpdmUgY29tbWFuZCBcIiVzXCIiLAogCQkJCQkJCSB4bG9nYXJj aGNtZCkpKTsKIAotCWZmbHVzaChOVUxMKTsKLQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQoV0FJ VF9FVkVOVF9BUkNISVZFX0NPTU1BTkQpOwotCXJjID0gc3lzdGVtKHhsb2dhcmNoY21kKTsKLQlw Z3N0YXRfcmVwb3J0X3dhaXRfZW5kKCk7CisJcmMgPSBwZ19zeXN0ZW0oeGxvZ2FyY2hjbWQsIFdB SVRfRVZFTlRfQVJDSElWRV9DT01NQU5EKTsKIAogCWlmIChyYyAhPSAwKQogCXsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3RhcnR1cC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9zdGFydHVwLmMKaW5kZXggNzE0OWE2N2ZjYmMuLmViNzlmZGExZmQ5IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3N0YXJ0dXAuYworKysgYi9zcmMvYmFja2VuZC9wb3N0 bWFzdGVyL3N0YXJ0dXAuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgInV0aWxzL2d1Yy5o IgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZW91dC5o IgorI2luY2x1ZGUgInV0aWxzL3dhaXRfZXZlbnRfdHlwZXMuaCIKIAogCiAjaWZuZGVmIFVTRV9Q T1NUTUFTVEVSX0RFQVRIX1NJR05BTApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9m aWxlL2ZkLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwppbmRleCAwZTgyOTlkZDU1 Ni4uNzE4ZDgwNzlhZDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5j CisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jCkBAIC0yNzM0LDYgKzI3MzQsNDgg QEAgT3BlblRyYW5zaWVudEZpbGVQZXJtKGNvbnN0IGNoYXIgKmZpbGVOYW1lLCBpbnQgZmlsZUZs YWdzLCBtb2RlX3QgZmlsZU1vZGUpCiAJcmV0dXJuIC0xOwkJCQkJLyogZmFpbHVyZSAqLwogfQog CisvKgorICogQSBjdXN0b20gd3JhcHBlciBhcm91bmQgdGhlIHN5c3RlbSgpIGZ1bmN0aW9uIHRo YXQgY2FsbHMgdGhlIG5lY2Vzc2FyeQorICogZnVuY3Rpb25zIHByZS9wb3N0LWZvcmsuCisgKgor ICogSWYgV0FJVF9FVkVOVF9SRVNUT1JFX0NPTU1BTkQgaXMgcGFzc2VkIGFzIHRoZSB3YWl0X2V2 ZW50X2luZm8sIGl0IHdpbGwgYWxzbworICogY2FsbCB0aGUgbmVjZXNzYXJ5IFByZVJlc3RvcmVD b21tYW5kL1Bvc3RSZXJzdG9yZUNvbW1hbmQgZnVuY3Rpb25zLiBJdCdzCisgKiB1bmZvcnR1bmF0 ZSB0aGF0IHdlIGhhdmUgdG8gZG8gY291cGxlIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBmdW5jdGlv biBzbworICogdGlnaGx0eSB0byB0aGUgcmVzdG9yZSBjb21tYW5kIGxvZ2ljLCBidXQgaXQncyB0 aGUgb25seSB3YXkgdG8gbWFrZSBzdXJlCisgKiB0aGF0IHdlIGRvbid0IGhhdmUgYWRkaXRpb25h bCBsb2dpYyBpbmJldHdlZW4gdGhlIFByZVJlc3RvcmVDb21tYW5kIGFuZAorICogUG9zdFJlc3Rv cmVDb21tYW5kIGNhbGxzLgorICovCitpbnQKK3BnX3N5c3RlbShjb25zdCBjaGFyICpjb21tYW5k LCB1aW50MzIgd2FpdF9ldmVudF9pbmZvKQoreworCWludAkJCXJjOworCisJZmZsdXNoKE5VTEwp OworCXBnc3RhdF9yZXBvcnRfd2FpdF9zdGFydCh3YWl0X2V2ZW50X2luZm8pOworCisJaWYgKHdh aXRfZXZlbnRfaW5mbyA9PSBXQUlUX0VWRU5UX1JFU1RPUkVfQ09NTUFORCkKKwl7CisJCS8qCisJ CSAqIFByZVJlc3RvcmVDb21tYW5kKCkgaW5mb3JtcyB0aGUgU0lHVEVSTSBoYW5kbGVyIGZvciB0 aGUgc3RhcnR1cAorCQkgKiBwcm9jZXNzIHRoYXQgaXQgc2hvdWxkIHByb2NfZXhpdCgpIHJpZ2h0 IGF3YXkuICBUaGlzIGlzIGRvbmUgZm9yCisJCSAqIHRoZSBkdXJhdGlvbiBvZiB0aGUgc3lzdGVt KCkgY2FsbCBiZWNhdXNlIHRoZXJlIGlzbid0IGEgZ29vZCB3YXkgdG8KKwkJICogYnJlYWsgb3V0 IHdoaWxlIGl0IGlzIGV4ZWN1dGluZy4gIFNpbmNlIHdlIG1pZ2h0IGNhbGwgcHJvY19leGl0KCkK KwkJICogaW4gYSBzaWduYWwgaGFuZGxlciwgaXQgaXMgYmVzdCB0byBwdXQgYW55IGFkZGl0aW9u YWwgbG9naWMgYmVmb3JlCisJCSAqIG9yIGFmdGVyIHRoZSBQcmVSZXN0b3JlQ29tbWFuZCgpL1Bv c3RSZXN0b3JlQ29tbWFuZCgpIHNlY3Rpb24uCisJCSAqLworCQlQcmVSZXN0b3JlQ29tbWFuZCgp OworCX0KKworCXJjID0gc3lzdGVtKGNvbW1hbmQpOworCisJaWYgKHdhaXRfZXZlbnRfaW5mbyA9 PSBXQUlUX0VWRU5UX1JFU1RPUkVfQ09NTUFORCkKKwkJUG9zdFJlc3RvcmVDb21tYW5kKCk7CisK KwlwZ3N0YXRfcmVwb3J0X3dhaXRfZW5kKCk7CisJcmV0dXJuIHJjOworfQorCisKIC8qCiAgKiBS b3V0aW5lcyB0aGF0IHdhbnQgdG8gaW5pdGlhdGUgYSBwaXBlIHN0cmVhbSBzaG91bGQgdXNlIE9w ZW5QaXBlU3RyZWFtCiAgKiByYXRoZXIgdGhhbiBwbGFpbiBwb3BlbigpLiAgVGhpcyBsZXRzIGZk LmMgZGVhbCB3aXRoIGZyZWVpbmcgRkRzIGlmCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9y YWdlL2ZkLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL2ZkLmgKaW5kZXggYjc3ZDhlNWUzMGUuLjJk NDQ1Njc0YTFhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2ZkLmgKKysrIGIvc3Jj L2luY2x1ZGUvc3RvcmFnZS9mZC5oCkBAIC0xODcsNiArMTg3LDcgQEAgZXh0ZXJuIGludAlwZ19m c3luY193cml0ZXRocm91Z2goaW50IGZkKTsKIGV4dGVybiBpbnQJcGdfZmRhdGFzeW5jKGludCBm ZCk7CiBleHRlcm4gYm9vbCBwZ19maWxlX2V4aXN0cyhjb25zdCBjaGFyICpuYW1lKTsKIGV4dGVy biB2b2lkIHBnX2ZsdXNoX2RhdGEoaW50IGZkLCBvZmZfdCBvZmZzZXQsIG9mZl90IG5ieXRlcyk7 CitleHRlcm4gaW50CXBnX3N5c3RlbShjb25zdCBjaGFyICpjb21tYW5kLCB1aW50MzIgd2FpdF9l dmVudF9pbmZvKTsKIGV4dGVybiBpbnQJcGdfdHJ1bmNhdGUoY29uc3QgY2hhciAqcGF0aCwgb2Zm X3QgbGVuZ3RoKTsKIGV4dGVybiB2b2lkIGZzeW5jX2ZuYW1lKGNvbnN0IGNoYXIgKmZuYW1lLCBi b29sIGlzZGlyKTsKIGV4dGVybiBpbnQJZnN5bmNfZm5hbWVfZXh0KGNvbnN0IGNoYXIgKmZuYW1l LCBib29sIGlzZGlyLCBib29sIGlnbm9yZV9wZXJtLCBpbnQgZWxldmVsKTsKCmJhc2UtY29tbWl0 OiBmMDkwODhhMDFkMzM3MmZkZmU1ZGExMmRkMGIyZTI0OTg5ZjBjYWE2Ci0tIAoyLjQzLjAKCg== --96bd550a435cfa53434e1c41781cd5b8345ca9c962d2929f07ac0d04aa26 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0002-Bump-postmaster-soft-open-file-limit-RLIMIT_NOFIL.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0002-Bump-postmaster-soft-open-file-limit-RLIMIT_NOFIL.patch RnJvbSBjNDM5NTBhZmE1MWIyMjg5MjIxMTc3MGE0MWQ0YmU0NjA5YjdiOWFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8Z2l0aHViLXRlY2hAamVsdGVm Lm5sPgpEYXRlOiBUdWUsIDExIEZlYiAyMDI1IDE5OjE1OjM2ICswMTAwClN1YmplY3Q6IFtQQVRD SCB2OCAyLzNdIEJ1bXAgcG9zdG1hc3RlciBzb2Z0IG9wZW4gZmlsZSBsaW1pdCAoUkxJTUlUX05P RklMRSkKIHdoZW4gbmVjZXNzYXJ5CgpUaGUgZGVmYXVsdCBvcGVuIGZpbGUgbGltaXQgb2YgMTAy NCBvbiBMaW51eCBpcyBleHRyZW1lbHkgbG93LiBUaGUKcmVhc29uIHRoYXQgdGhpcyBoYXNuJ3Qg Y2hhbmdlZCBjaGFuZ2UgaXMgYmVjYXVzZSBkb2luZyBzbyB3b3VsZCBicmVhawpsZWdhY3kgcHJv Z3JhbXMgdGhhdCB1c2UgdGhlIHNlbGVjdCgyKSBzeXN0ZW0gY2FsbCBpbiBoYXJkIHRvIGRlYnVn CndheXMuIFNvIGluc3RlYWQgcHJvZ3JhbXMgdGhhdCB3YW50IHRvIG9wdC1pbiB0byBhIGhpZ2hl ciBvcGVuIGZpbGUKbGltaXQgYXJlIGV4cGVjdGVkIHRvIGJ1bXAgdGhlaXIgc29mdCBsaW1pdCB0 byB0aGVpciBoYXJkIGxpbWl0IG9uCnN0YXJ0dXAuIERldGFpbHMgb24gdGhpcyBhcmUgdmVyeSB3 ZWxsIGV4cGxhaW5lZCBpbiBhIGJsb2dwb3N0IGJ5IHRoZQpzeXN0ZW1kIGF1dGhvclsxXS4gVGhl cmUncyBhbHNvIGEgc2ltaWxhciBjaGFuZ2UgZG9uZSBieSB0aGUgR28KbGFuZ3VhZ2VbMl0uCgpU aGlzIHN0YXJ0cyBidW1waW5nIHBvc3RtYXN0ZXIgaXRzIHNvZnQgb3BlbiBmaWxlIGxpbWl0IHdo ZW4gd2UgcmVhbGl6ZQp0aGF0IHdlJ2xsIHJ1biBpbnRvIHRoZSBzb2Z0IGxpbWl0IHdpdGggdGhl IHJlcXVlc3RlZAptYXhfZmlsZXNfcGVyX3Byb2Nlc3MgR1VDLiBXZSBkbyBzbyBieSBzbGlnaHRs eSBjaGFuZ2luZyB0aGUgbWVhbmluZyBvZgp0aGUgbWF4X2ZpbGVzX3Blcl9wcm9jZXNzIEdVQy4g VGhlIGFjdHVhbCAobm90IHB1YmxpY2x5IGV4cG9zZWQpIGxpbWl0CmlzIG1heF9zYWZlX2Zkcywg cHJldmlvdXNseSB0aGlzIHdvdWxkIGJlIHNldCB0bzoKbWF4X2ZpbGVzX3Blcl9wcm9jZXNzIC0g YWxyZWFkeV9vcGVuX2ZpbGVzIC0gTlVNX1JFU0VSVkVEX0ZEUwpBZnRlciB0aGlzIGNoYW5nZSB3 ZSBub3cgdHJ5IHRvIHNldCBtYXhfc2FmZV9mZHMgdG8KbWF4X2ZpbGVzX3Blcl9wcm9jZXNzIGlm IHRoZSBzeXN0ZW0gYWxsb3dzIHRoYXQuIFRoaXMgaXMgZGVlbWVkIG1vcmUKbmF0dXJhbCB0byB1 bmRlcnN0YW5kIGZvciB1c2VycywgYmVjYXVzZSBub3cgdGhlIGxpbWl0IG9mIGZpbGVzIHRoYXQK dGhleSBjYW4gb3BlbiBpcyBhY3R1YWxseSB3aGF0IHRoZXkgY29uZmlndXJlZCBpbiBtYXhfZmls ZXNfcGVyX3Byb2Nlc3MuCgpBZGRpbmcgdGhpcyBpbmZyYXN0cnVjdHVyZSB0byBjaGFuZ2UgUkxJ TUlUX05PRklMRSB3aGVuIG5lZWRlZCBpcwplc3BlY2lhbGx5IHVzZWZ1bCBmb3IgdGhlIEFJTyB3 b3JrIHRoYXQgQW5kcmVzIGlzIGRvaW5nLCBiZWNhdXNlCmlvX3VyaW5nIGNvbnN1bWVzIGEgbG90 IG9mIGZpbGUgZGVzY3JpcHRvcnMuIEV2ZW4gd2l0aG91dCBsb29raW5nIGF0IEFJTwp0aGVyZSBp cyBhIGxhcmdlIG51bWJlciBvZiByZXBvcnRzIGZyb20gcGVvcGxlIHRoYXQgcmVxdWlyZSBjaGFu Z2luZwp0aGVpciBzb2Z0IGZpbGUgbGltaXQgYmVmb3JlIHN0YXJ0aW5nIFBvc3RncmVzLCBzb21l dGltZXMgZmFsbGluZyBiYWNrCnRvIGxvd2VyaW5nIG1heF9maWxlc19wZXJfcHJvY2VzcyB3aGVu IHRoZXkgZmFpbCB0byBkbyBzb1szLThdLiBJdCdzCmFsc28gbm90IGFsbCB0aGF0IHN0cmFuZ2Ug dG8gZmFpbCBhdCBzZXR0aW5nIHRoZSBzb2Z0IG9wZW4gZmlsZSBsaW1pdApiZWNhdXNlIHRoZXJl IGFyZSBtdWx0aXBsZSBwbGFjZXMgd2hlcmUgb25lIGNhbiBjb25maWd1cmUgc3VjaCBsaW1pdHMK YW5kIHVzdWFsbHkgb25seSBvbmUgb2YgdGhlbSBpcyBlZmZlY3RpdmUgKHdoaWNoIG9uZSBkZXBl bmRzIG9uIGhvdwpQb3N0Z3JlcyBpcyBzdGFydGVkKS4gSW4gY2xvdWQgZW52aXJvbm1lbnRzIGl0 cyBhbHNvIG9mdGVuIG5vdCBwb3NzaWJsZQpmb3IgdXNlciB0byBjaGFuZ2UgdGhlIHNvZnQgbGlt aXQsIGJlY2F1c2UgdGhleSBkb24ndCBjb250cm9sIHRoZSB3YXkKdGhhdCBQb3N0Z3JlcyBpcyBz dGFydGVkLgoKT25lIHRoaW5nIHRvIG5vdGUgaXMgdGhhdCB3ZSB0ZW1wb3JhcmlseSByZXN0b3Jl IHRoZSBvcmlnaW5hbCBzb2Z0CmxpbWl0IHdoZW4gc2hlbGwtaW5nIG91dCB0byBvdGhlciBleGVj dXRhYmxlcy4gVGhpcyBpcyBkb25lIGFzIGEKcHJlY2F1dGlvbiBpbiBjYXNlIHRob3NlIGV4ZWN1 dGFibGVzIGFyZSB1c2luZyBzZWxlY3QoMikuCgpbMV06IGh0dHBzOi8vMHBvaW50ZXIubmV0L2Js b2cvZmlsZS1kZXNjcmlwdG9yLWxpbWl0cy5odG1sClsyXTogaHR0cHM6Ly9naXRodWIuY29tL2dv bGFuZy9nby9pc3N1ZXMvNDYyNzkKWzNdOiBodHRwczovL3NlcnZlcmZhdWx0LmNvbS9xdWVzdGlv bnMvNzg1MzMwL2dldHRpbmctdG9vLW1hbnktb3Blbi1maWxlcy1lcnJvci1mb3ItcG9zdGdyZXMK WzRdOiBodHRwczovL3NlcnZlcmZhdWx0LmNvbS9xdWVzdGlvbnMvNzE2OTgyL2hvdy10by1yYWlz ZS1tYXgtbm8tb2YtZmlsZS1kZXNjcmlwdG9ycy1mb3ItZGFlbW9ucy1ydW5uaW5nLW9uLWRlYmlh bi1qZXNzaWUKWzVdOiBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQv Q0FLdGM4dlhoN052UF9xV2o4RXFxb3JQWTk3YnZ4U2FYM2g1dTdhOVBwdFJGSFc1eDdnJTQwbWFp bC5nbWFpbC5jb20KWzZdOiBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2Zs YXQvMTEzY2UzMWIwOTA4MTIwOTU1dzc3MDI5MDk5aTdlY2VjYzA1MzA4NDA5NWElNDBtYWlsLmdt YWlsLmNvbQpbN106IGh0dHBzOi8vZ2l0aHViLmNvbS9hYmlvc29mdC9jb2xpbWEvZGlzY3Vzc2lv bnMvODM2Cls4XTogaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9mbGF0LzI5 NjYzLjEwMDc3Mzg5NTclNDBzc3MucGdoLnBhLnVzIzIwNzllYzllMmQ4YjI1MTU5MzgxMmEzNzEx YmZlOWU5Ci0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMgfCAxOTkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDE4NCBpbnNlcnRpb25z KCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2Zp bGUvZmQuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jCmluZGV4IDcxOGQ4MDc5YWQ3 Li5iM2E1OGRlZWY0MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMK KysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKQEAgLTE1OCw2ICsxNTgsMTMgQEAg aW50CQkJbWF4X2ZpbGVzX3Blcl9wcm9jZXNzID0gMTAwMDsKICAqLwogaW50CQkJbWF4X3NhZmVf ZmRzID0gRkRfTUlORlJFRTsJLyogZGVmYXVsdCBpZiBub3QgY2hhbmdlZCAqLwogCisjaWZkZWYg SEFWRV9HRVRSTElNSVQKK3N0YXRpYyBib29sIHNhdmVkX29yaWdpbmFsX21heF9vcGVuX2ZpbGVz Oworc3RhdGljIHN0cnVjdCBybGltaXQgb3JpZ2luYWxfbWF4X29wZW5fZmlsZXM7CitzdGF0aWMg c3RydWN0IHJsaW1pdCBjdXN0b21fbWF4X29wZW5fZmlsZXM7CisjZW5kaWYKKworCiAvKiBXaGV0 aGVyIGl0IGlzIHNhZmUgdG8gY29udGludWUgcnVubmluZyBhZnRlciBmc3luYygpIGZhaWxzLiAq LwogYm9vbAkJZGF0YV9zeW5jX3JldHJ5ID0gZmFsc2U7CiAKQEAgLTk0Niw2ICs5NTMsMTUyIEBA IEluaXRUZW1wb3JhcnlGaWxlQWNjZXNzKHZvaWQpCiAjZW5kaWYKIH0KIAorLyoKKyAqIFJldHVy bnMgdHJ1ZSBpZiB0aGUgcGFzc2VkIGluIGhpZ2hlc3RmZCBpcyB0aGUgbGFzdCBvbmUgdGhhdCB3 ZSdyZSBhbGxvd2VkCisgKiB0byBvcGVuIGJhc2VkIG9uIG91ci4gVGhpcyBzaG91bGQgb25seSBi ZSBjYWxsZWQgaWYKKyAqLworc3RhdGljIGJvb2wKK0lzT3BlbkZpbGVMaW1pdChpbnQgaGlnaGVz dGZkKQoreworI2lmZGVmIEhBVkVfR0VUUkxJTUlUCisJaWYgKCFzYXZlZF9vcmlnaW5hbF9tYXhf b3Blbl9maWxlcykKKwl7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gaGlnaGVzdGZk ID49IGN1c3RvbV9tYXhfb3Blbl9maWxlcy5ybGltX2N1ciAtIDE7CisjZWxzZQorCXJldHVybiBm YWxzZTsKKyNlbmRpZgorfQorCisvKgorICogSW5jcmVhc2VzIHRoZSBvcGVuIGZpbGUgbGltaXQg KFJMSU1JVF9OT0ZJTEUpIGJ5IHRoZSByZXF1ZXN0ZWQgYW1vdW50LgorICogUmV0dXJucyB0cnVl IGlmIHN1Y2Nlc3NmdWwsIGZhbHNlIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGJvb2wKK0luY3Jl YXNlT3BlbkZpbGVMaW1pdChpbnQgZXh0cmFfZmlsZXMpCit7CisjaWZkZWYgSEFWRV9HRVRSTElN SVQKKwlzdHJ1Y3QgcmxpbWl0IHJsaW07CisKKwlpZiAoIXNhdmVkX29yaWdpbmFsX21heF9vcGVu X2ZpbGVzKQorCXsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJsaW0gPSBjdXN0b21fbWF4X29w ZW5fZmlsZXM7CisKKwkvKiBJZiB3ZSdyZSBhbHJlYWR5IGF0IHRoZSBtYXggd2UgcmVhY2hlZCBv dXIgbGltaXQgKi8KKwlpZiAocmxpbS5ybGltX2N1ciA9PSBvcmlnaW5hbF9tYXhfb3Blbl9maWxl cy5ybGltX21heCkKKwkJcmV0dXJuIGZhbHNlOworCisJLyogT3RoZXJ3aXNlIHRyeSB0byBpbmNy ZWFzZSB0aGUgc29mdCBsaW1pdCB0byB3aGF0IHdlIG5lZWQgKi8KKwlybGltLnJsaW1fY3VyID0g TWluKHJsaW0ucmxpbV9jdXIgKyBleHRyYV9maWxlcywgcmxpbS5ybGltX21heCk7CisKKwlpZiAo c2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZybGltKSAhPSAwKQorCXsKKwkJLyogV2UgbWFkZSBz dXJlIG5vdCB0byBleGNlZWQgdGhlIGhhcmQgbGltaXQsIHNvIHRoaXMgc2hvdWxkbid0IGZhaWwg Ki8KKwkJZXJlcG9ydChXQVJOSU5HLCAoZXJybXNnKCJzZXRybGltaXQgZmFpbGVkOiAlbSIpKSk7 CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwljdXN0b21fbWF4X29wZW5fZmlsZXMgPSBybGltOwor CisJZWxvZyhMT0csICJpbmNyZWFzZWQgb3BlbiBmaWxlIGxpbWl0IHRvICVsZCIsIChsb25nKSBy bGltLnJsaW1fY3VyKTsKKworCXJldHVybiB0cnVlOworI2Vsc2UKKwlyZXR1cm4gZmFsc2U7Cisj ZW5kaWYKK30KKworLyoKKyAqIFNhdmVzIHRoZSBvcmlnaW5hbCBvcGVuIGZpbGUgbGltaXQgKFJM SU1JVF9OT0ZJTEUpIHRoZSBmaXJzdCB0aW1lIHdoZW4gdGhpcworICogaXMgY2FsbGVkLiBJZiBj YWxsZWQgYWdhaW4gaXQncyBhIG5vLW9wLgorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNz ZnVsLCBmYWxzZSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyB2b2lkCitTYXZlT3JpZ2luYWxPcGVu RmlsZUxpbWl0KHZvaWQpCit7CisjaWZkZWYgSEFWRV9HRVRSTElNSVQKKwlpbnQJCQlzdGF0dXM7 CisKKwlpZiAoc2F2ZWRfb3JpZ2luYWxfbWF4X29wZW5fZmlsZXMpCisJeworCQkvKiBBbHJlYWR5 IHNhdmVkLCBubyBuZWVkIHRvIGRvIGl0IGFnYWluICovCisJCXJldHVybjsKKwl9CisKKwlzdGF0 dXMgPSBnZXRybGltaXQoUkxJTUlUX05PRklMRSwgJm9yaWdpbmFsX21heF9vcGVuX2ZpbGVzKTsK KwlpZiAoc3RhdHVzICE9IDApCisJeworCQllcmVwb3J0KFdBUk5JTkcsIChlcnJtc2coImdldHJs aW1pdCBmYWlsZWQ6ICVtIikpKTsKKwkJcmV0dXJuOworCX0KKworCWN1c3RvbV9tYXhfb3Blbl9m aWxlcyA9IG9yaWdpbmFsX21heF9vcGVuX2ZpbGVzOworCXNhdmVkX29yaWdpbmFsX21heF9vcGVu X2ZpbGVzID0gdHJ1ZTsKKwlyZXR1cm47CisjZW5kaWYKK30KKworLyoKKyAqIFVzZU9yaWdpbmFs T3BlbkZpbGVMaW1pdCAtLS0gTWFrZXMgdGhlIHByb2Nlc3MgdXNlIHRoZSBvcmlnaW5hbCBvcGVu IGZpbGUKKyAqIAkJbGltaXQgdGhhdCB3YXMgcHJlc2VudCBhdCBwb3N0bWFzdGVyIHN0YXJ0Lgor ICoKKyAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgc3Bhd25pbmcgc3VicHJvY2Vzc2Vz IHRoYXQgbWlnaHQgdXNlIHNlbGVjdCgyKQorICogd2hpY2ggY2FuIG9ubHkgaGFuZGxlIGZpbGUg ZGVzY3JpcHRvcnMgdXAgdG8gMTAyNC4KKyAqLworc3RhdGljIHZvaWQKK1VzZU9yaWdpbmFsT3Bl bkZpbGVMaW1pdCh2b2lkKQoreworI2lmZGVmIEhBVkVfR0VUUkxJTUlUCisJaWYgKCFzYXZlZF9v cmlnaW5hbF9tYXhfb3Blbl9maWxlcykKKwl7CisJCXJldHVybjsKKwl9CisKKwlpZiAoY3VzdG9t X21heF9vcGVuX2ZpbGVzLnJsaW1fY3VyID09IG9yaWdpbmFsX21heF9vcGVuX2ZpbGVzLnJsaW1f Y3VyKQorCXsKKwkJLyogTm90IGNoYW5nZWQsIHNvIG5vIG5lZWQgdG8gY2FsbCBzZXRybGltaXQg YXQgYWxsICovCisJCXJldHVybjsKKwl9CisKKwlpZiAoc2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUs ICZvcmlnaW5hbF9tYXhfb3Blbl9maWxlcykgIT0gMCkKKwl7CisJCWVyZXBvcnQoV0FSTklORywg KGVycm1zZygic2V0cmxpbWl0IGZhaWxlZDogJW0iKSkpOworCX0KKyNlbmRpZgorfQorCisvKgor ICogVXNlQ3VzdG9tT3BlbkZpbGVMaW1pdCAtLS0gTWFrZXMgdGhlIHByb2Nlc3MgdXNlIG91ciBj dXN0b20gb3BlbiBmaWxlIGxpbWl0CisgKiAJCWFmdGVyIHRoYXQgd2UgY29uZmlndXJlZCBiYXNl ZCBvbiB0aGUgbWF4X2ZpbGVzX3Blcl9wcm9jZXNzIEdVQy4KKyAqLworc3RhdGljIHZvaWQKK1Vz ZUN1c3RvbU9wZW5GaWxlTGltaXQodm9pZCkKK3sKKyNpZmRlZiBIQVZFX0dFVFJMSU1JVAorCWlm ICghc2F2ZWRfb3JpZ2luYWxfbWF4X29wZW5fZmlsZXMpCisJeworCQlyZXR1cm47CisJfQorCisJ aWYgKGN1c3RvbV9tYXhfb3Blbl9maWxlcy5ybGltX2N1ciA9PSBvcmlnaW5hbF9tYXhfb3Blbl9m aWxlcy5ybGltX2N1cikKKwl7CisJCS8qIE5vdCBjaGFuZ2VkLCBzbyBubyBuZWVkIHRvIGNhbGwg c2V0cmxpbWl0IGF0IGFsbCAqLworCQlyZXR1cm47CisJfQorCisJaWYgKHNldHJsaW1pdChSTElN SVRfTk9GSUxFLCAmY3VzdG9tX21heF9vcGVuX2ZpbGVzKSAhPSAwKQorCXsKKwkJZXJlcG9ydChX QVJOSU5HLCAoZXJybXNnKCJzZXRybGltaXQgZmFpbGVkOiAlbSIpKSk7CisJfQorI2VuZGlmCit9 CisKIC8qCiAgKiBjb3VudF91c2FibGVfZmRzIC0tLSBjb3VudCBob3cgbWFueSBGRHMgdGhlIHN5 c3RlbSB3aWxsIGxldCB1cyBvcGVuLAogICoJCWFuZCBlc3RpbWF0ZSBob3cgbWFueSBhcmUgYWxy ZWFkeSBvcGVuLgpAQCAtOTY5LDM4ICsxMTIyLDM5IEBAIGNvdW50X3VzYWJsZV9mZHMoaW50IG1h eF90b19wcm9iZSwgaW50ICp1c2FibGVfZmRzLCBpbnQgKmFscmVhZHlfb3BlbikKIAlpbnQJCQlo aWdoZXN0ZmQgPSAwOwogCWludAkJCWo7CiAKLSNpZmRlZiBIQVZFX0dFVFJMSU1JVAotCXN0cnVj dCBybGltaXQgcmxpbTsKLQlpbnQJCQlnZXRybGltaXRfc3RhdHVzOwotI2VuZGlmCi0KIAlzaXpl ID0gMTAyNDsKIAlmZCA9IChpbnQgKikgcGFsbG9jKHNpemUgKiBzaXplb2YoaW50KSk7CiAKLSNp ZmRlZiBIQVZFX0dFVFJMSU1JVAotCWdldHJsaW1pdF9zdGF0dXMgPSBnZXRybGltaXQoUkxJTUlU X05PRklMRSwgJnJsaW0pOwotCWlmIChnZXRybGltaXRfc3RhdHVzICE9IDApCi0JCWVyZXBvcnQo V0FSTklORywgKGVycm1zZygiZ2V0cmxpbWl0IGZhaWxlZDogJW0iKSkpOwotI2VuZGlmCQkJCQkJ CS8qIEhBVkVfR0VUUkxJTUlUICovCisJU2F2ZU9yaWdpbmFsT3BlbkZpbGVMaW1pdCgpOwogCiAJ LyogZHVwIHVudGlsIGZhaWx1cmUgb3IgcHJvYmUgbGltaXQgcmVhY2hlZCAqLwogCWZvciAoOzsp CiAJewogCQlpbnQJCQl0aGlzZmQ7CiAKLSNpZmRlZiBIQVZFX0dFVFJMSU1JVAotCiAJCS8qCiAJ CSAqIGRvbid0IGdvIGJleW9uZCBSTElNSVRfTk9GSUxFOyBjYXVzZXMgaXJyaXRhdGluZyBrZXJu ZWwgbG9ncyBvbgogCQkgKiBzb21lIHBsYXRmb3JtcwogCQkgKi8KLQkJaWYgKGdldHJsaW1pdF9z dGF0dXMgPT0gMCAmJiBoaWdoZXN0ZmQgPj0gcmxpbS5ybGltX2N1ciAtIDEpCi0JCQlicmVhazsK LSNlbmRpZgorCQlpZiAoSXNPcGVuRmlsZUxpbWl0KGhpZ2hlc3RmZCkpCisJCXsKKwkJCWlmICgh SW5jcmVhc2VPcGVuRmlsZUxpbWl0KG1heF90b19wcm9iZSAtIHVzZWQpKQorCQkJCWJyZWFrOwor CQl9CiAKIAkJdGhpc2ZkID0gZHVwKDIpOwogCQlpZiAodGhpc2ZkIDwgMCkKIAkJeworCQkJLyoK KwkJCSAqIEV2ZW50aG91Z2ggd2UgZG8gdGhlIHByZS1jaGVjayBhYm92ZSwgaXQncyBzdGlsbCBw b3NzaWJsZSB0aGF0CisJCQkgKiB0aGUgY2FsbCB0byBkdXAgZmFpbHMgd2l0aCBFTUZJTEUuIFRo aXMgY2FuIGhhcHBlbiBpZiB0aGUgbGFzdAorCQkJICogZmlsZSBkZXNjcmlwdG9yIHdhcyBhbHJl YWR5IGFzc2lnbmVkIHRvIGFuICJhbHJlYWR5IG9wZW4iIGZpbGUuCisJCQkgKiBPbmUgZXhhbXBs ZSBvZiB0aGlzIGhhcHBlbmluZywgaXMgaWYgd2UncmUgYWxyZWFkeSBhdCB0aGUgc29mdAorCQkJ ICogbGltaXQgd2hlbiB3ZSBjYWxsIGNvdW50X3VzYWJsZV9mZHMuCisJCQkgKi8KKwkJCWlmIChl cnJubyA9PSBFTUZJTEUgJiYgSW5jcmVhc2VPcGVuRmlsZUxpbWl0KG1heF90b19wcm9iZSAtIHVz ZWQpKQorCQkJCWNvbnRpbnVlOworCiAJCQkvKiBFeHBlY3QgRU1GSUxFIG9yIEVORklMRSwgZWxz ZSBpdCdzIGZpc2h5ICovCiAJCQlpZiAoZXJybm8gIT0gRU1GSUxFICYmIGVycm5vICE9IEVORklM RSkKIAkJCQllbG9nKFdBUk5JTkcsICJkdXBsaWNhdGluZyBzdGRlcnIgZmlsZSBkZXNjcmlwdG9y IGZhaWxlZCBhZnRlciAlZCBzdWNjZXNzZXM6ICVtIiwgdXNlZCk7CkBAIC0yNzUwLDYgKzI5MDQs NyBAQCBwZ19zeXN0ZW0oY29uc3QgY2hhciAqY29tbWFuZCwgdWludDMyIHdhaXRfZXZlbnRfaW5m bykKIHsKIAlpbnQJCQlyYzsKIAorCVVzZU9yaWdpbmFsT3BlbkZpbGVMaW1pdCgpOwogCWZmbHVz aChOVUxMKTsKIAlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQod2FpdF9ldmVudF9pbmZvKTsKIApA QCAtMjc3Miw2ICsyOTI3LDcgQEAgcGdfc3lzdGVtKGNvbnN0IGNoYXIgKmNvbW1hbmQsIHVpbnQz MiB3YWl0X2V2ZW50X2luZm8pCiAJCVBvc3RSZXN0b3JlQ29tbWFuZCgpOwogCiAJcGdzdGF0X3Jl cG9ydF93YWl0X2VuZCgpOworCVVzZUN1c3RvbU9wZW5GaWxlTGltaXQoKTsKIAlyZXR1cm4gcmM7 CiB9CiAKQEAgLTI4MDUsNiArMjk2MSwxOSBAQCBPcGVuUGlwZVN0cmVhbShjb25zdCBjaGFyICpj b21tYW5kLCBjb25zdCBjaGFyICptb2RlKQogCVJlbGVhc2VMcnVGaWxlcygpOwogCiBUcnlBZ2Fp bjoKKworCS8qCisJICogSXQgd291bGQgYmUgZ3JlYXQgaWYgd2UgY291bGQgY2FsbCBVc2VPcmln aW5hbE9wZW5GaWxlTGltaXQgaGVyZSwgYnV0CisJICogc2luY2UgcG9wZW4oKSBhbHNvIG9wZW5z IGEgZmlsZSBpbiB0aGUgY3VycmVudCBwcm9jZXNzICh0aGlzIHNpZGUgb2YgdGhlCisJICogcGlw ZSkgd2UgY2Fubm90IGRvIHNvIHNhZmVseS4gQmVjYXVzZSB3ZSBtaWdodCBhbHJlYWR5IGhhdmUg bWFueSBtb3JlCisJICogZmlsZXMgb3BlbiB0aGFuIHRoZSBvcmlnaW5hbCBsaW1pdC4KKwkgKgor CSAqIFRoZSBvbmx5IHdheSB0byBhZGRyZXNzIHRoaXMgd291bGQgYmUgaW1wbGVtZW50aW5nIGEg Y3VzdG9tIHBvcGVuKCkgdGhhdAorCSAqIGNhbGxzIFVzZU9yaWdpbmFsT3BlbkZpbGVMaW1pdCBv bmx5IGFyb3VuZCB0aGUgYWN0dWFsIGZvcmsgY2FsbCwgYnV0CisJICogdGhhdCBzZWVtcyB0b28g bXVjaCBlZmZvcnQgdG8gaGFuZGxlIHRoZSBjb3JuZXIgY2FzZSB3aGVyZSB0aGlzIGV4dGVybmFs CisJICogY29tbWFuZCB1c2VzIGJvdGggc2VsZWN0KCkgYW5kIHRyaWVzIHRvIG9wZW4gbW9yZSBm aWxlcyB0aGFuIHNlbGVjdCgpCisJICogYWxsb3dzIGZvci4KKwkgKi8KIAlmZmx1c2goTlVMTCk7 CiAJcHFzaWduYWwoU0lHUElQRSwgU0lHX0RGTCk7CiAJZXJybm8gPSAwOwotLSAKMi40My4wCgo= --96bd550a435cfa53434e1c41781cd5b8345ca9c962d2929f07ac0d04aa26 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0003-Reflect-the-value-of-max_safe_fds-in-max_files_pe.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0003-Reflect-the-value-of-max_safe_fds-in-max_files_pe.patch RnJvbSAyOThjM2M0MzZlYjQ1MzVkZjk1ZDdlZmIwYjE3MTA1Y2M2ZTZjNzcwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8Z2l0aHViLXRlY2hAamVsdGVm Lm5sPgpEYXRlOiBXZWQsIDEyIEZlYiAyMDI1IDAxOjA4OjA3ICswMTAwClN1YmplY3Q6IFtQQVRD SCB2OCAzLzNdIFJlZmxlY3QgdGhlIHZhbHVlIG9mIG1heF9zYWZlX2ZkcyBpbgogbWF4X2ZpbGVz X3Blcl9wcm9jZXNzCgpJdCBpcyBjdXJyZW50bHkgaGFyZCB0byBmaWd1cmUgb3V0IGlmIG1heF9z YWZlX2ZkcyBpcyBzaWduaWZpY2FudGx5Cmxvd2VyIHRoYW4gbWF4X2ZpbGVzX3Blcl9wcm9jZXNz LiBUaGlzIHN0YXJ0cyByZWZsZWN0aW5nIHRoZSB2YWx1ZSBvZgptYXhfc2FmZV9mZHMgaW4gbWF4 X2ZpbGVzX3Blcl9wcm9jZXNzIGFmdGVyIG91ciBsaW1pdCBkZXRlY3Rpb24uIFdlCnN0aWxsIHdh bnQgdG8gaGF2ZSB0d28gc2VwYXJhdGUgdmFyaWFibGVzIGJlY2F1c2UgZm9yIHRoZSBib290c3Ry YXAgb3IKc3RhbmRhbG9uZS1iYWNrZW5kIGNhc2VzIHRoZWlyIHZhbHVlcyBkaWZmZXIgb24gcHVy cG9zZS4KLS0tCiBzcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYyB8IDExICsrKysrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvZmlsZS9mZC5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKaW5k ZXggYjNhNThkZWVmNDMuLjhjZWUzOGU2YzE3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9y YWdlL2ZpbGUvZmQuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwpAQCAtMTE5 OSw2ICsxMTk5LDcgQEAgc2V0X21heF9zYWZlX2Zkcyh2b2lkKQogewogCWludAkJCXVzYWJsZV9m ZHM7CiAJaW50CQkJYWxyZWFkeV9vcGVuOworCWNoYXIJICAgKm1heF9zYWZlX2Zkc19zdHJpbmc7 CiAKIAkvKi0tLS0tLS0tLS0KIAkgKiBXZSB3YW50IHRvIHNldCBtYXhfc2FmZV9mZHMgdG8KQEAg LTEyMTQsNiArMTIxNSwxNiBAQCBzZXRfbWF4X3NhZmVfZmRzKHZvaWQpCiAKIAltYXhfc2FmZV9m ZHMgPSBNaW4odXNhYmxlX2ZkcywgbWF4X2ZpbGVzX3Blcl9wcm9jZXNzKTsKIAorCS8qCisJICog VXBkYXRlIEdVQyB2YXJpYWJsZSB0byBhbGxvdyB1c2VycyB0byBzZWUgaWYgdGhlIHJlc3VsdCBp cyBkaWZmZXJlbnQKKwkgKiB0aGFuIHdoYXQgdGhlIHVzZWQgdmFsdWUgdHVybnMgb3V0IHRvIGJl IGRpZmZlcmVudCB0aGFuIHdoYXQgdGhleSBoYWQKKwkgKiBjb25maWd1cmVkLgorCSAqLworCW1h eF9zYWZlX2Zkc19zdHJpbmcgPSBwc3ByaW50ZigiJWQiLCBtYXhfc2FmZV9mZHMpOworCVNldENv bmZpZ09wdGlvbigibWF4X2ZpbGVzX3Blcl9wcm9jZXNzIiwgbWF4X3NhZmVfZmRzX3N0cmluZywK KwkJCQkJUEdDX1BPU1RNQVNURVIsIFBHQ19TX09WRVJSSURFKTsKKwlwZnJlZShtYXhfc2FmZV9m ZHNfc3RyaW5nKTsKKwogCS8qCiAJICogVGFrZSBvZmYgdGhlIEZEcyByZXNlcnZlZCBmb3Igc3lz dGVtKCkgZXRjLgogCSAqLwotLSAKMi40My4wCgo= --96bd550a435cfa53434e1c41781cd5b8345ca9c962d2929f07ac0d04aa26--