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.96) (envelope-from ) id 1vfz04-006k7E-1M for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Jan 2026 11:25:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vfz03-00A03b-17 for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Jan 2026 11:25:19 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vfz03-00A03S-03 for pgsql-hackers@lists.postgresql.org; Wed, 14 Jan 2026 11:25:19 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vfz00-000Pif-3D for pgsql-hackers@lists.postgresql.org; Wed, 14 Jan 2026 11:25:18 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-b87677a8abeso85764766b.1 for ; Wed, 14 Jan 2026 03:25:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1768389915; x=1768994715; darn=lists.postgresql.org; h=in-reply-to:references:subject:cc:from:to:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/ALQgr2HqLrCsV4dl8iFy1sXS9z4CE2MGMm60XzMLpM=; b=jiV+NFEQh8rx82y0X/sCQwePjeRqdXCLhAFzJ7gPxJCdnq/E4juV+sRej6Vay8TNmb 1VgHuv1djTtHNmJHIM+XHz4iCmuNsELnnN60DZTsWaUlMB3btI4288sZ6erciMWcVoSS DrwGAjVsp0rXY0IG4XMyZwDbzrKJnPr+OQTEwGl2uuegt2PnO2fkqJpuFc8cl7iV/h/C 3PNVU83NK0NXHAX1ou1KTF3S2Y4o25AhUG8k6TcK/frgr1gUTj98T+3BH3aKYc3GFYPE 1MHzYLwXFb3G3Wiv5bgtGfLkMNulRv5ucS/ZP9Fx+4tX/3UrvApR21M2oTLArx5kbDcq RGlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768389915; x=1768994715; h=in-reply-to:references:subject:cc:from:to:message-id:date :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=/ALQgr2HqLrCsV4dl8iFy1sXS9z4CE2MGMm60XzMLpM=; b=JtYCKgHz455cmTmwT8YfcB3hln4BjgILb2Sj3vi8BXB/Oh+8cbw9Iz67tnrVYVZD1n Julg9kiDvU+Sw/w69aFnkVIZk16yaq1cYEGm+2ZlGymp5AcbYFJrLVELOIZqIMZ4IW63 NXfS5eJSon3sWmB+oy1j+ZYz9qUD9d17u41mEfLHxYmSIQvqTLtM9QKpOk95MykLsRJ4 70pBhpt87GyU2kAHBLsla3fYSHcC3E6i9me0scKDriygFhI6t+9pO1IvzYgHA2LIhDPo FdONX3zqiAz3vG10AuglwxY3Dnv9YEH0lUQFoC13pXMC4Hcg/3+xhooPkppVXz0y0MWY rmaA== X-Forwarded-Encrypted: i=1; AJvYcCWPzLgLW1J2IzEkqy+41WZCBWOyiabMUm0L7IUbj9NYfD8kIgBD/Yi/AB8ppWHPpMYucpBLDyVtIOg8+WFO@lists.postgresql.org X-Gm-Message-State: AOJu0Yz1w7p/3IHymT2cF9F9rKuPqmcpTvKUftte7jd4aRzfW0TdaNLL IP8TQrBfwwwS4UdLc4SpyUB0nvfbn8DkjojovskotHkGPkV2q7un0iM6TZzy0s3vs5Q= X-Gm-Gg: AY/fxX4vGP/J0oYveDVlN8e2Sqovye+/11FZ1bjWTgPZKlUlr+ukLDU9sw8lO52fgcE DFU1b5RiyinWjlbXjtPXmzAqkEeVYs4WvHDuYomnNbwHE93vNcAObhmaWTNfIYNxqKEJPm5e32B CFWp0C5nGDD7CbYNBCdTYyIgIf4B7BZYLXHV/Z9EcPFQcdO7LNCM97E/iM8AcoTmdLq9UHBkvO1 2hUXW1w+TlcKM8Ndx7C9zDegARTDz/J516y5HtoPurnkCutGVI+f5G7++J6snLYEvBYcgqPNVza 5n3TZITUqRhAEjsPvTkr+C0bguB2PR2EQnP4L66bwnrOlFk3lbJgcbyy8mxrl7eV1mBXpq/Hc8Y JaV628kJDqL4ZlbVS7NGecYG8rjGX66bZmHxXPiZXyXJDIYl0IB71sWs/N34MLjHvEfwufyIId6 7ria8DowQ7pnokylbLRIuiEG/SxkfzGSBHcMeOSSewrBByF2Wg X-Received: by 2002:a17:906:fd8a:b0:b87:18a7:de30 with SMTP id a640c23a62f3a-b87613e0096mr249575266b.56.1768389915457; Wed, 14 Jan 2026 03:25:15 -0800 (PST) Received: from localhost (037153217001.static.ipv4.heldenvannu.net. [37.153.217.1]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8706c2604bsm1037163966b.16.2026.01.14.03.25.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Jan 2026 03:25:14 -0800 (PST) Content-Type: multipart/mixed; boundary=c570efe2c869f05c9044869a36c36fe1f2d6c3614a90925124d327ba1233 Mime-Version: 1.0 Date: Wed, 14 Jan 2026 12:25:14 +0100 Message-Id: To: "Anthonin Bonnefoy" , "Japin Li" From: "Jelte Fennema-Nio" Cc: "Tom Lane" , "Akshat Jaimini" , Subject: Re: Always show correct error message for statement timeouts, fixes random buildfarm failures X-Mailer: aerc 0.20.1-31-gf6db7c329ce0 References: <176511833932.1475507.5111967663635215418.pgcf@coridan.postgresql.org> <1977913.1767894652@sss.pgh.pa.us> In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --c570efe2c869f05c9044869a36c36fe1f2d6c3614a90925124d327ba1233 Content-Type: multipart/alternative; boundary=0f6e9238a9bdad96b53e1633bf2338bb3baa1d7c11bb20aa7f316d766402 --0f6e9238a9bdad96b53e1633bf2338bb3baa1d7c11bb20aa7f316d766402 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Wed Jan 14, 2026 at 11:42 AM CET, Anthonin Bonnefoy wrote: > I've encountered a related issue which is fixed by Jelte's patch.=20 Great that it fixes that too. > The comment feels a bit misleading.=20 Updated the comment now (I had copied it verbatim from its original location, but I agree it didn't describe the new behaviour clearly). > Is it still possible to have both the statement timeout active and > fired? You added the change to enable_statement_timeout to avoid > restarting it when it was already triggered, so I would expect an > active timeout to not have the indicator flag set. I guess there's the > possible race where the timeout is triggered between > get_timeout_active and disable_timeout. Updated that comment to make it clear that it's indeed there for that rare race condition.=20 --0f6e9238a9bdad96b53e1633bf2338bb3baa1d7c11bb20aa7f316d766402-- --c570efe2c869f05c9044869a36c36fe1f2d6c3614a90925124d327ba1233 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v7-0001-Do-not-reset-statement_timeout-indicator-outside-.patch Content-Type: text/x-patch; charset=utf-8; name=v7-0001-Do-not-reset-statement_timeout-indicator-outside-.patch RnJvbSA2M2FjNGNiNjAyZDM4NGExZDU2NzUxMjM4ZmM0MDliMTQxMTZjMWNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBXZWQsIDE0IEphbiAyMDI2IDEyOjI0OjQ0ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 N10gRG8gbm90IHJlc2V0IHN0YXRlbWVudF90aW1lb3V0IGluZGljYXRvciBvdXRzaWRlIG9mCiBQ cm9jZXNzSW50ZXJydXB0cwoKVGhlIG9ubHkgd2F5IHRoYXQgUHJvY2Vzc0ludGVycnVwdHMgY2Fu IGtub3cgd2h5IFF1ZXJ5Q2FuY2VsUGVuZGluZyBpcwpzZXQgaXMgYnkgbG9va2luZyBhdCB0aGUg aW5kaWNhdG9yIGJpdHMgb2YgdGhlIHZhcmlvdXMgdGltZW91dHMuIFRoZQpTVEFURU1FTlRfVElN RU9VVCBpbmRpY2F0b3Igd2FzIGJlaW5nIHJlc2V0IGluIHR3byBwbGFjZXMsIGNhdXNpbmcKUHJv Y2Vzc0ludGVycnVwdHMgdG8gcmVwb3J0ICJ1c2VyIHJlcXVlc3QiIGluc3RlYWQgb2YgInN0YXRl bWVudAp0aW1lb3V0Ii4KClRoZSBwcmltYXJ5IHJlYXNvbiBmb3IgdGhpcyBwYXRjaCBpcyB0aGF0 IHRoaXMgZGlmZmVyZW50IGVycm9yIG1lc3NhZ2UKY2F1c2VkIGEgdGVzdCB0byBiZSBmbGFreS4g VGhlIHJlYXNvbiB0aGlzIHdhcyBoYXBwZW5pbmcgaXMgYmVjYXVzZQplbmFibGVfc3RhdGVtZW50 X3RpbWVvdXQgd291bGQgYmUgY2FsbGVkIHR3aWNlIGZvciBhIHNpbmdsZSBxdWVyeS4gVGhlCmlu dGVudCBvZiBjYWxsaW5nIGVuYWJsZV9zdGF0ZW1lbnRfdGltZW91dCB0d2ljZSBpcyB0aGF0IHRo ZSBzZWNvbmQgY2FsbAp3YXMgYSBuby1vcCwgYnV0IHRoYXQgd2FzIG5vdCB0aGUgY2FzZSBpbiBw cmFjdGljZS4gSWYgdGhlIHRpbWVyIGV4cGlyZWQKcmlnaHQgYmVmb3JlIHRoZSBzZWNvbmQgY2Fs bCwgdGhlbiB0aGUgdGltZXIgd291bGQgcmVzdGFydCBhbmQgdW5zZXQgdGhlCmN1cnJlbnQgaW5k aWNhdG9yLiBUaGUgUXVlcnlDYW5jZWxQZW5kaW5nIGZsYWcgd291bGQgc3RpbGwgYmUgdHJ1ZSwg c28Kb24gdGhlIG5leHQgQ0hFQ0tfRk9SX0lOVEVSUlVQVFMgaXQgd291bGQgdGhyb3cgdGhlICJj YW5jZWxlZCBzdGF0ZW1lbnQKZHVlIHRvIHVzZXIgcmVxdWVzdCIgZXJyb3IuCgpUaGUgZGlzYWJs ZV9zdGF0ZW1lbnRfdGltZW91dCBmdW5jdGlvbiBoYXMgYSBzaW1pbGFyIHRoZW9yZXRpY2FsIHJh Y2UKY29uZGl0aW9uLCB3aGVyZSBpdCB3b3VsZCByZXNldCB0aGUgaW5kaWNhdG9yLCBidXQgbGVh dmUgdGhlIGNhbmNlbCBmbGFnCnNldC4gU28gdGhhdCBvbmUgd2FzIGNoYW5nZWQgdG9vLCBldmVu IHRob3VnaCBub25lIG9mIG91ciB0ZXN0cyBhY3R1YWxseQp0cmlnZ2VyIHRoYXQgc3BlY2lmaWMg YnVnLgoKVGhlIGRvd25zaWRlIG9mIGtlZXBpbmcgdGhlc2UgaW5kaWNhdG9ycyBzZXQsIGlzIHRo YXQgdGhleSBjYW4gbGVhawpvdXRzaWRlIG9mIHRoZSBxdWVyeSB0aGF0J3MgYmVpbmcgcnVuLiBU byBtYWtlIHN1cmUgdGhhdCB0aGlzIGNhdXNlcyBubwpwcm9ibGVtcyBpbiBwcmFjdGljZSwgUHJv Y2Vzc0ludGVycnVwdHMgbm93IGFsc28gY2hlY2tzIHRoYXQKRG9pbmdDb21tYW5kUmVhZCBpcyBm YWxzZSBiZWZvcmUgY2FuY2VsaW5nIGJlY2F1c2Ugb2Ygc3RhdGVtZW50X3RpbWVvdXQKb3IgbG9j a190aW1lb3V0LCBpbiBhZGRpdGlvbiB0byByZXNldHRpbmcgb2YgdGhvc2UgaW5kaWNhdG9ycyAo d2hpY2ggaXQKYWxyZWFkeSBkaWQpLiBHaXZlbiB0aGF0IENIRUNLX0ZPUl9JTlRFUlJVUFRTIGlz IGNhbGxlZCByaWdodCBiZWZvcmUKY2hhbmdpbmcgdGhlIERvaW5nQ29tbWFuZFJlYWQgYmFjayB0 byBmYWxzZSwgdGhpcyB3aWxsIHJlc2V0IHRoZQppbmRpY2F0b3JzIGJlZm9yZSBlbnRlcmluZyB0 aGUgbmV4dCBxdWVyeS4KClRoaXMgbGVha2luZyBvZiB0aW1lb3V0IGZsYWdzIHdhcyBhY3R1YWxs eSBhbHJlYWR5IHBvc3NpYmxlIGlmIGEgdGltZW91dApmaXJlZCBiZWZvcmUgdGhlIGRpc2FibGVf c3RhdGVtZW50X3RpbWVvdXQgY2FsbCwgYnV0IGFmdGVyIHRoZSBsYXN0IHJvdwpzZW50LiBXaGlj aCB3b3VsZCByZXN1bHQgaW4gYSBjbGllbnQgcmVjZWl2aW5nIGEgQ29tbWFuZENvbXBsZXRlLApp bW1lZGlhdGVseSBmb2xsb3dlZCBieSBhbiBFcnJvclJlc3BvbnNlIGZvciB0aGF0IGp1c3QgY29t cGxldGVkIGNvbW1hbmQuCgpBdXRob3I6IEplbHRlIEZlbm5lbWEtTmlvIDxwb3N0Z3Jlc0BqZWx0 ZWYubmw+ClJlcG9ydGVkLUJ5OiBBbGV4YW5kZXIgTGFraGluIDxleGNsdXNpb25AZ21haWwuY29t PgpSZXBvcnRlZC1CeTogQW50aG9uaW4gQm9ubmVmb3kgPGFudGhvbmluLmJvbm5lZm95QGRhdGFk b2docS5jb20+Ci0tLQogc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jIHwgNDggKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlv bnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvcG9z dGdyZXMuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYwppbmRleCBlNTRiZjFlNzYwZi4u YTAwMjAxZTFjOWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYworKysg Yi9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMKQEAgLTM0MzYsMzQgKzM0MzYsNDAgQEAgUHJv Y2Vzc0ludGVycnVwdHModm9pZCkKIAkJCWdldF90aW1lb3V0X2ZpbmlzaF90aW1lKFNUQVRFTUVO VF9USU1FT1VUKSA8IGdldF90aW1lb3V0X2ZpbmlzaF90aW1lKExPQ0tfVElNRU9VVCkpCiAJCQls b2NrX3RpbWVvdXRfb2NjdXJyZWQgPSBmYWxzZTsJLyogcmVwb3J0IHN0bXQgdGltZW91dCAqLwog Ci0JCWlmIChsb2NrX3RpbWVvdXRfb2NjdXJyZWQpCisJCWlmIChEb2luZ0NvbW1hbmRSZWFkKQor CQl7CisJCQkvKgorCQkJICogSWYgd2UgYXJlIHJlYWRpbmcgYSBjb21tYW5kIGZyb20gdGhlIGNs aWVudCB0aGF0IG1lYW5zIHRoYXQgdGhlCisJCQkgKiBxdWVyeSBjb21wbGV0ZWQgYmVmb3JlIHdl IHdlcmUgYWJsZSB0byBjYW5jZWwgaXQgKHdoZXRoZXIgZHVlCisJCQkgKiB0byBjYW5jZWwgcmVx dWVzdCBvciB0aW1lb3V0KS4gU2VuZGluZyBhbiBleHRyYSBlcnJvciBtZXNzYWdlCisJCQkgKiB3 b24ndCBhY2NvbXBsaXNoIGFueXRoaW5nIGluIHRoYXQgY2FzZS4gU28gd2UganVzdCBkbyBub3Ro aW5nCisJCQkgKiBpbiB0aGlzIGNhc2UsIGV4Y2VwdCBmb3IgdGhlIHJlc2V0dGluZyBvZiB0aGUg ZmxhZ3Mgd2hpY2gKKwkJCSAqIGhhcHBlbmVkIGFib3ZlLiBPdGhlcndpc2UsIGdvIGFoZWFkIGFu ZCB0aHJvdyBhbiBlcnJvciB3aXRoIHRoZQorCQkJICogY29ycmVjdCByZWFzb24uCisJCQkgKi8K KwkJfQorCQllbHNlIGlmIChsb2NrX3RpbWVvdXRfb2NjdXJyZWQpCiAJCXsKIAkJCUxvY2tFcnJv ckNsZWFudXAoKTsKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCShlcnJjb2RlKEVSUkNPREVfTE9D S19OT1RfQVZBSUxBQkxFKSwKIAkJCQkJIGVycm1zZygiY2FuY2VsaW5nIHN0YXRlbWVudCBkdWUg dG8gbG9jayB0aW1lb3V0IikpKTsKIAkJfQotCQlpZiAoc3RtdF90aW1lb3V0X29jY3VycmVkKQor CQllbHNlIGlmIChzdG10X3RpbWVvdXRfb2NjdXJyZWQpCiAJCXsKIAkJCUxvY2tFcnJvckNsZWFu dXAoKTsKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCShlcnJjb2RlKEVSUkNPREVfUVVFUllfQ0FO Q0VMRUQpLAogCQkJCQkgZXJybXNnKCJjYW5jZWxpbmcgc3RhdGVtZW50IGR1ZSB0byBzdGF0ZW1l bnQgdGltZW91dCIpKSk7CiAJCX0KLQkJaWYgKEFtQXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSkK KwkJZWxzZSBpZiAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpKQogCQl7CiAJCQlMb2NrRXJy b3JDbGVhbnVwKCk7CiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1FV RVJZX0NBTkNFTEVEKSwKIAkJCQkJIGVycm1zZygiY2FuY2VsaW5nIGF1dG92YWN1dW0gdGFzayIp KSk7CiAJCX0KLQotCQkvKgotCQkgKiBJZiB3ZSBhcmUgcmVhZGluZyBhIGNvbW1hbmQgZnJvbSB0 aGUgY2xpZW50LCBqdXN0IGlnbm9yZSB0aGUgY2FuY2VsCi0JCSAqIHJlcXVlc3QgLS0tIHNlbmRp bmcgYW4gZXh0cmEgZXJyb3IgbWVzc2FnZSB3b24ndCBhY2NvbXBsaXNoCi0JCSAqIGFueXRoaW5n LiAgT3RoZXJ3aXNlLCBnbyBhaGVhZCBhbmQgdGhyb3cgdGhlIGVycm9yLgotCQkgKi8KLQkJaWYg KCFEb2luZ0NvbW1hbmRSZWFkKQorCQllbHNlCiAJCXsKIAkJCUxvY2tFcnJvckNsZWFudXAoKTsK IAkJCWVyZXBvcnQoRVJST1IsCkBAIC01MjE4LDIyICs1MjI0LDM0IEBAIGVuYWJsZV9zdGF0ZW1l bnRfdGltZW91dCh2b2lkKQogCWlmIChTdGF0ZW1lbnRUaW1lb3V0ID4gMAogCQkmJiAoU3RhdGVt ZW50VGltZW91dCA8IFRyYW5zYWN0aW9uVGltZW91dCB8fCBUcmFuc2FjdGlvblRpbWVvdXQgPT0g MCkpCiAJewotCQlpZiAoIWdldF90aW1lb3V0X2FjdGl2ZShTVEFURU1FTlRfVElNRU9VVCkpCisJ CS8qCisJCSAqIFdlIGNoZWNrIGJvdGggaWYgaXQncyBhY3RpdmUgb3IgaWYgaXQncyBhbHJlYWR5 IHRyaWdnZXJlZC4gSWYgaXQncworCQkgKiBhbHJlYWR5IHRyaWdnZXJlZCB3ZSBkb24ndCB3YW50 IHRvIHJlc3RhcnQgaXQgYmVjYXVzZSB0aGF0IGNsZWFycworCQkgKiB0aGUgaW5kaWNhdG9yIGZs YWcsIHdoaWNoIGluIHR1cm4gd291bGQgY2F1c2UgdGhlIHdyb25nIGVycm9yCisJCSAqIG1lc3Nh Z2UgdG8gYmUgdXNlZCBieSBQcm9jZXNzSW50ZXJydXB0cygpIG9uIHRoZSBuZXh0CisJCSAqIENI RUNLX0ZPUl9JTlRFUlJVUFRTKCkgY2FsbC4gUmVzdGFydGluZyB0aGUgdGltZXIgaW4gdGhhdCBj YXNlCisJCSAqIHdvdWxkIGJlIHBvaW50bGVzcyBhbnl3YXksIGJlY2F1c2UgdGhlIHN0YXRlbWVu dCB0aW1lb3V0IGVycm9yIGlzCisJCSAqIGdvaW5nIHRvIHRyaWdnZXIgb24gdGhlIG5leHQgQ0hF Q0tfRk9SX0lOVEVSUlVQVFMoKSBjYWxsLgorCQkgKi8KKwkJaWYgKCFnZXRfdGltZW91dF9hY3Rp dmUoU1RBVEVNRU5UX1RJTUVPVVQpCisJCQkmJiAhZ2V0X3RpbWVvdXRfaW5kaWNhdG9yKFNUQVRF TUVOVF9USU1FT1VULCBmYWxzZSkpCiAJCQllbmFibGVfdGltZW91dF9hZnRlcihTVEFURU1FTlRf VElNRU9VVCwgU3RhdGVtZW50VGltZW91dCk7CiAJfQogCWVsc2UKIAl7Ci0JCWlmIChnZXRfdGlt ZW91dF9hY3RpdmUoU1RBVEVNRU5UX1RJTUVPVVQpKQotCQkJZGlzYWJsZV90aW1lb3V0KFNUQVRF TUVOVF9USU1FT1VULCBmYWxzZSk7CisJCWRpc2FibGVfc3RhdGVtZW50X3RpbWVvdXQoKTsKIAl9 CiB9CiAKIC8qCi0gKiBEaXNhYmxlIHN0YXRlbWVudCB0aW1lb3V0LCBpZiBhY3RpdmUuCisgKiBE aXNhYmxlIHN0YXRlbWVudCB0aW1lb3V0LCBpZiBhY3RpdmUuIFdlIHByZXNlcnZlIHRoZSBpbmRp Y2F0b3IgZmxhZworICogdGhvdWdoLCBvdGhlcndpc2UgaW4gdGhlIHJhcmUgY2FzZSB3aGVyZSB0 aGUgdGltZW91dCBmaXJlcyBiZXR3ZWVuCisgKiBnZXRfdGltZW91dF9hY3RpdmUgYW5kIGRpc2Fi bGVfdGltZW91dCwgd2UnZCBsb3NlIHRoZSBrbm93bGVkZ2UgaW4KKyAqIFByb2Nlc3NJbnRlcnVw dHMgdGhhdCB0aGUgU0lHSU5UIGNhbWUgZnJvbSBhIHN0YXRlbWVudCB0aW1lb3V0LgogICovCiBz dGF0aWMgdm9pZAogZGlzYWJsZV9zdGF0ZW1lbnRfdGltZW91dCh2b2lkKQogewogCWlmIChnZXRf dGltZW91dF9hY3RpdmUoU1RBVEVNRU5UX1RJTUVPVVQpKQotCQlkaXNhYmxlX3RpbWVvdXQoU1RB VEVNRU5UX1RJTUVPVVQsIGZhbHNlKTsKKwkJZGlzYWJsZV90aW1lb3V0KFNUQVRFTUVOVF9USU1F T1VULCB0cnVlKTsKIH0KCmJhc2UtY29tbWl0OiAyYmM2MGY4NjIxOWIwMGE5YmEyM2VmYWI4ZjRi YjhkZTIxZTY0ZTJhCi0tIAoyLjUyLjAKCg== --c570efe2c869f05c9044869a36c36fe1f2d6c3614a90925124d327ba1233--