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 1w66S6-003xIE-0e for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 12:38:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w66S4-009eK6-1y for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 12:38:13 +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.96) (envelope-from ) id 1w66S4-009eJx-0B for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 12:38:12 +0000 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w66S2-00000001Jgd-2sBY for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 12:38:11 +0000 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-59de8155501so2165983e87.3 for ; Fri, 27 Mar 2026 05:38:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774615089; cv=none; d=google.com; s=arc-20240605; b=eRubSsg2mS/zeJgGDsw5SkV+dSlB4L/EgQG7Ik4SpUON63EXmIdL2QCRFnI0XaCK48 fADxYIe55DmI0kktXvPHN3ovtvzwM2zmHUj1yB6g9NfiC4q+0YBWfIELW6kxItHB+L1L hZsqFfadR1fVAjAkMKSZfbHL9mbTbju0pAV+Wl+fweeF5pdM+q+tmrxq0bxwkvPetAlF Bn5RV2VV8EJXk4pvFmLYuuNfOkOpBeq7vwwDZRXa95+2e8wg/hXOrMIgFLH+MzO6q9q3 j9ahv/sJ1vYLPzSqziK4+Z1kIei8tRkAnL5TBSdHPe1ltBA8bPaYySu6QOI9FWn8TsSh 8D4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=pXD4FR9YyYKM/GjzxLra4gSehcwWt0RNw8OBy6fBSJc=; fh=fRzQMmhWLy1LymMWLQnKbG1acU78VD62C1WUrOhxgVQ=; b=Fe+J7+MP9ew5FS+idWqbclbf6Rih/Gs/IRfb3LxeKZhBkcL6MGntkLYM21XhYXuykC TcOpdrhyAV+joAZM4aSa3h4Pm86sKfOMrbYgeeG7zMsGFkevkKd6q0NmzaPlxBy3HShB hj/vp0efZrlMLY+Cm7Shq+eDA12Yph8KxNDwXnVGY35ZMOG3WqWYwNECnBYVolcEu3fN B+qsci/LmOd6pxgRLPiQS9nXpnQxUZzNUV3DugnXdTyGb6kcYyIwbl8nQHrBq0rsGmVw gob02Rt/1wyL0O5Ctv7mp/+9esZgw1/mgag4rtwZUjeyTDwBvQlyj97KGII3Dn3n5bpa pIuA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774615089; x=1775219889; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=pXD4FR9YyYKM/GjzxLra4gSehcwWt0RNw8OBy6fBSJc=; b=Bc7/mL5Hi7x+vqDMeY6IX5Chc7rG0E8JHA2YiABWzQ9+e5nxZOFs75//PnQ4rMy0gZ aVKDaJQ/RFJP+PhPAThmdXfuBfxlib6267gZw7mRChrn5h3sck0CYkjGkQDc4crr81po yo4LqGw1QJ3CKV5k39Vw1hcKgjYen1du1F9bhhRapL5zAOlAM/DTXBXBP4ASmObUfUjc 0XiyO81jTwftQWdaHAH4GttwtuL5wcdcmJFhfYkYUT5qTvKmxClHuH4eTNad8uuMl1P2 1SoGl3NbhAa4tfyF/xTKSNsHb7USXONMPRhgx12+y6WWKGlDsTy8ysphe6+Hr21uAtlO vh6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774615089; x=1775219889; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pXD4FR9YyYKM/GjzxLra4gSehcwWt0RNw8OBy6fBSJc=; b=AtsRZrsSD6fwL6wBsprZB1qO8nFKiOcyBUGLa+esBxQwQJ+Rw6fdU3K6NFPeZmbtzl rieUjRL4rLVa/UjfF0pVQS/32Go9NTiEu9ZITdJYtJg3B/LxPDkWF5ss5iUWEP9YdAsR lUUVaE9iIwlpylySdXXzKuH0SVE5Y+iOjM5VKaiL7xB9JZNJlzmlC9lNSQMGsWGpT2ZM Z1sC4LwigfDqsOIdU4rNs7lRhYVsVqjVcHEPjsGGM6YucqOlugi1k1mhOrHU8y3InUJR VvTkNPa77iRVrGsDTqyTOhRuv8n1wpVJnuYTDgF2UEZcUzRZ/eX1IH6ememBCa7/sNvB +A3w== X-Forwarded-Encrypted: i=1; AJvYcCXbc33VUJAL9IK4L5CuSKfyMnkhny5PlfimDJaXNF2WnsUJZB2xaArwUuCADMPD9UDADrm6f2QFj0htZbkK@lists.postgresql.org X-Gm-Message-State: AOJu0YxRkdsnYWJ/hlgCLCAckOnPq1/IbZE+2WaI9Hs2nGGA4mvoZMCR i/Vbtg8yl1oXTWvjQcQpNNDFLovsndtYc4uGd09bB0MPH5MH6ed1yZaudGU8y0Q9B8IIib/nxYQ BTKvSi2I1u+IOsf+V1vVJQnoEGdFyKg== X-Gm-Gg: ATEYQzx/G1YrEAGPyBfhMElrYfYkyXonZM4x4g1MtqtLC7BGpiQFVhgiXdGSpNV66mh XH9+VX/g01zLfeXrZ+2KFGB5VJnvGWFbd8E4Fwmeg1IY+hZ9f5pfMCoGB3+BGPcaCEJRWuF7Njn nAtG/vk6mDl3FKyacnChP/ph7j+NnEroNFdNyB9QetfNFXS/KRH9nJJm9bl1C1G84O5zHEvo8R6 HQjLVqlJaYcJvXuCoqPGjTbqJhc8C1dVEbSmyERklInvI+tsy+kQOn1qQ64jCPSJite6reqVr8t 6FFxNPBUn4ZnFg== X-Received: by 2002:a05:6512:b99:b0:5a1:190e:9a15 with SMTP id 2adb3069b0e04-5a2ab7e8cb0mr992303e87.6.1774615088815; Fri, 27 Mar 2026 05:38:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nisha Moond Date: Fri, 27 Mar 2026 18:07:56 +0530 X-Gm-Features: AQROBzA0KwXnIeRCwgd_aRNyFEys1MkuS9DrbDoRD8XRB7H-wS6NDxe5vZ9e96s Message-ID: Subject: Re: Use SIGTERM instead of SIGUSR1 for slotsync worker to exit during promotion? To: Amit Kapila Cc: shveta malik , Fujii Masao , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000fb7571064e00c591" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000fb7571064e00c591 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Mar 27, 2026 at 3:19=E2=80=AFPM Amit Kapila wrote: > > On Fri, Mar 27, 2026 at 1:19=E2=80=AFPM Amit Kapila wrote: > > > > After this change, why do we need to invoke > > ProcessSlotSyncInterrupts() twice in SyncReplicationSlots? > > Fixed. > > Also, not sure if it is a good idea to name current function as > ProcessSlotSyncInterrupts() because we remove most of its interrupt > handling. Shall we copy paste its code at two places as we do similar > handling at other places as well. > Done. > Another comment: > * > + > + if (SlotSyncShutdown) > + HandleSlotSyncShutdown(); > ... > ... > + if (CheckProcSignal(PROCSIG_SLOTSYNC_MESSAGE)) > + HandleSlotSyncShutdownInterrupt(); > > Would it better if we name these functions as HandleSlotSyncMessage() > and HandleSlotSyncMessageInterrupt() because for API, these simply > lead to an ERROR and that would match with the ProcSignalReason name > PROCSIG_SLOTSYNC_MESSAGE? > Done. Attached the updated patch. -- Thanks, Nisha --000000000000fb7571064e00c591 Content-Type: application/octet-stream; name="v4-0001-Prevent-slotsync-worker-API-hang-during-standby-p.patch" Content-Disposition: attachment; filename="v4-0001-Prevent-slotsync-worker-API-hang-during-standby-p.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn8vtceh0 RnJvbSBkOTU4MGJjZmNiMjZiYTFlMjIwZTcyNTFkMDRkOGIyMTVmM2ZiNDA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXNoYSBNb29uZCA8bmlzaGEubW9vbmQ0MTJAZ21haWwuY29t PgpEYXRlOiBXZWQsIDI1IE1hciAyMDI2IDE4OjA0OjEyICswNTMwClN1YmplY3Q6IFtQQVRDSCB2 NF0gUHJldmVudCBzbG90c3luYyB3b3JrZXIvQVBJIGhhbmcgZHVyaW5nIHN0YW5kYnkgcHJvbW90 aW9uCgpEdXJpbmcgc3RhbmRieSBwcm9tb3Rpb24sIFNodXREb3duU2xvdFN5bmMoKSBzaWduYWxz IHRoZSBzbG90c3luYyB3b3JrZXIKdG8gc3RvcCBhbmQgd2FpdHMgZm9yIGl0IHRvIGZpbmlzaC4g SWYgdGhlIHdvcmtlciBpcyBibG9ja2VkIGluCldhaXRMYXRjaE9yU29ja2V0KCkgd2FpdGluZyBm b3IgYSByZXNwb25zZSBmcm9tIHRoZSBwcmltYXJ5IChlLmcuLCBkdWUKdG8gYSBuZXR3b3JrIGZh aWx1cmUpLCB0aGUgcHJldmlvdXMgU0lHVVNSMSBzaWduYWwgb25seSBzZXRzIHRoZSBsYXRjaC4K VGhlIHdvcmtlciB3YWtlcyB1cCwgZmluZHMgbm8gcGVuZGluZyBpbnRlcnJ1cHQsIGFuZCBnb2Vz IGJhY2sgdG8Kd2FpdGluZywgY2F1c2luZyBTaHV0RG93blNsb3RTeW5jKCkgdG8gd2FpdCBpbmRl ZmluaXRlbHkgYW5kIGJsb2NraW5nCnByb21vdGlvbi4KCkZpeCB0aGlzIGJ5IGludHJvZHVjaW5n IGEgbmV3IHByb2NzaWduYWwgcmVhc29uIFBST0NTSUdfU0xPVFNZTkNfTUVTU0FHRS4KVGhlIHNp Z25hbCBoYW5kbGVyIHNldHMgdGhlIGFwcHJvcHJpYXRlIGludGVycnVwdCBmbGFncyBzbyB0aGF0 CldhaXRMYXRjaE9yU29ja2V0KCkgcmV0dXJucyBhbmQgdGhlIHdvcmtlciBleGl0cyBjbGVhbmx5 LCBhbGxvd2luZwpwcm9tb3Rpb24gdG8gcHJvY2VlZC4KLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMgfCAxMTAgKysrKysrKysrKysrKystLS0tLS0tCiBzcmMv YmFja2VuZC9zdG9yYWdlL2lwYy9wcm9jc2lnbmFsLmMgICAgICAgfCAgIDQgKwogc3JjL2JhY2tl bmQvdGNvcC9wb3N0Z3Jlcy5jICAgICAgICAgICAgICAgIHwgICA0ICsKIHNyYy9pbmNsdWRlL3Jl cGxpY2F0aW9uL3Nsb3RzeW5jLmggICAgICAgICB8ICAgNyArKwogc3JjL2luY2x1ZGUvc3RvcmFn ZS9wcm9jc2lnbmFsLmggICAgICAgICAgIHwgICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgOTMgaW5z ZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9zbG90c3luYy5jCmluZGV4IGU3NWRiNjllM2Y2Li43ZmFiOWM3NWE4YyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCisrKyBiL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc2xvdHN5bmMuYwpAQCAtMTQxLDYgKzE0MSwxMyBA QCBzdGF0aWMgbG9uZyBzbGVlcF9tcyA9IE1JTl9TTE9UU1lOQ19XT1JLRVJfTkFQVElNRV9NUzsK ICAqLwogc3RhdGljIGJvb2wgc3luY2luZ19zbG90cyA9IGZhbHNlOwogCisvKgorICogSW50ZXJy dXB0IGZsYWcgc2V0IHdoZW4gUFJPQ1NJR19TTE9UU1lOQ19NRVNTQUdFIGlzIHJlY2VpdmVkLCBh c2tpbmcgdGhlCisgKiBzbG90c3luYyB3b3JrZXIgb3IgcGdfc3luY19yZXBsaWNhdGlvbl9zbG90 cygpIHRvIHN0b3AgYmVjYXVzZQorICogc3RhbmRieSBwcm9tb3Rpb24gaGFzIGJlZW4gdHJpZ2dl cmVkLgorICovCit2b2xhdGlsZSBzaWdfYXRvbWljX3QgU2xvdFN5bmNTaHV0ZG93biA9IGZhbHNl OworCiAvKgogICogU3RydWN0dXJlIHRvIGhvbGQgaW5mb3JtYXRpb24gZmV0Y2hlZCBmcm9tIHRo ZSBwcmltYXJ5IHNlcnZlciBhYm91dCBhIGxvZ2ljYWwKICAqIHJlcGxpY2F0aW9uIHNsb3QuCkBA IC0xMjkxLDM2ICsxMjk4LDQyIEBAIHNsb3RzeW5jX3JlcmVhZF9jb25maWcodm9pZCkKIH0KIAog LyoKLSAqIEludGVycnVwdCBoYW5kbGVyIGZvciBwcm9jZXNzIHBlcmZvcm1pbmcgc2xvdCBzeW5j aHJvbml6YXRpb24uCisgKiBTaWduYWwgaGFuZGxlciBjYWxsZWQgKGluIHNpZ25hbCBjb250ZXh0 KSB3aGVuIFBST0NTSUdfU0xPVFNZTkNfTUVTU0FHRQorICogaXMgcmVjZWl2ZWQuICBTZXRzIHRo ZSBTbG90U3luY1NodXRkb3duIGZsYWcgc28gdGhhdCBQcm9jZXNzSW50ZXJydXB0cygpCisgKiB3 aWxsIGRpc3BhdGNoIHRvIEhhbmRsZVNsb3RTeW5jTWVzc2FnZSgpIGF0IHRoZSBuZXh0IHNhZmUg cG9pbnQuCiAgKi8KLXN0YXRpYyB2b2lkCi1Qcm9jZXNzU2xvdFN5bmNJbnRlcnJ1cHRzKHZvaWQp Cit2b2lkCitIYW5kbGVTbG90U3luY01lc3NhZ2VJbnRlcnJ1cHQodm9pZCkKIHsKLQlDSEVDS19G T1JfSU5URVJSVVBUUygpOworCUludGVycnVwdFBlbmRpbmcgPSB0cnVlOworCVNsb3RTeW5jU2h1 dGRvd24gPSB0cnVlOworCS8qIGxhdGNoIHdpbGwgYmUgc2V0IGJ5IHByb2NzaWduYWxfc2lndXNy MV9oYW5kbGVyICovCit9CiAKLQlpZiAoU2xvdFN5bmNDdHgtPnN0b3BTaWduYWxlZCkKLQl7Ci0J CWlmIChBbUxvZ2ljYWxTbG90U3luY1dvcmtlclByb2Nlc3MoKSkKLQkJewotCQkJZXJlcG9ydChM T0csCi0JCQkJCWVycm1zZygicmVwbGljYXRpb24gc2xvdCBzeW5jaHJvbml6YXRpb24gd29ya2Vy IHdpbGwgc3RvcCBiZWNhdXNlIHByb21vdGlvbiBpcyB0cmlnZ2VyZWQiKSk7CisvKgorICogSGFu ZGxlIGEgUFJPQ1NJR19TTE9UU1lOQ19NRVNTQUdFIHNpZ25hbCwgY2FsbGVkIGZyb20gUHJvY2Vz c0ludGVycnVwdHMoKS4KKyAqCisgKiBJZiB0aGUgY3VycmVudCBwcm9jZXNzIGlzIHRoZSBzbG90 c3luYyBiYWNrZ3JvdW5kIHdvcmtlciwgbG9nIGEgbWVzc2FnZQorICogYW5kIGV4aXQgY2xlYW5s eS4gIElmIGl0IGlzIGEgYmFja2VuZCBleGVjdXRpbmcgcGdfc3luY19yZXBsaWNhdGlvbl9zbG90 cygpLAorICogcmFpc2UgYW4gZXJyb3IuCisgKi8KK3ZvaWQKK0hhbmRsZVNsb3RTeW5jTWVzc2Fn ZSh2b2lkKQoreworCVNsb3RTeW5jU2h1dGRvd24gPSBmYWxzZTsKIAotCQkJcHJvY19leGl0KDAp OwotCQl9Ci0JCWVsc2UKLQkJewotCQkJLyoKLQkJCSAqIEZvciB0aGUgYmFja2VuZCBleGVjdXRp bmcgU1FMIGZ1bmN0aW9uCi0JCQkgKiBwZ19zeW5jX3JlcGxpY2F0aW9uX3Nsb3RzKCkuCi0JCQkg Ki8KLQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCWVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lO X1BSRVJFUVVJU0lURV9TVEFURSksCi0JCQkJCWVycm1zZygicmVwbGljYXRpb24gc2xvdCBzeW5j aHJvbml6YXRpb24gd2lsbCBzdG9wIGJlY2F1c2UgcHJvbW90aW9uIGlzIHRyaWdnZXJlZCIpKTsK LQkJfQorCWlmIChBbUxvZ2ljYWxTbG90U3luY1dvcmtlclByb2Nlc3MoKSkKKwl7CisJCWVyZXBv cnQoTE9HLAorCQkJCWVycm1zZygicmVwbGljYXRpb24gc2xvdCBzeW5jaHJvbml6YXRpb24gd29y a2VyIHdpbGwgc3RvcCBiZWNhdXNlIHByb21vdGlvbiBpcyB0cmlnZ2VyZWQiKSk7CisJCXByb2Nf ZXhpdCgwKTsKKwl9CisJZWxzZQorCXsKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQllcnJjb2RlKEVS UkNPREVfT0JKRUNUX05PVF9JTl9QUkVSRVFVSVNJVEVfU1RBVEUpLAorCQkJCWVycm1zZygicmVw bGljYXRpb24gc2xvdCBzeW5jaHJvbml6YXRpb24gd2lsbCBzdG9wIGJlY2F1c2UgcHJvbW90aW9u IGlzIHRyaWdnZXJlZCIpKTsKIAl9Ci0KLQlpZiAoQ29uZmlnUmVsb2FkUGVuZGluZykKLQkJc2xv dHN5bmNfcmVyZWFkX2NvbmZpZygpOwogfQogCiAvKgpAQCAtMTQyNyw2ICsxNDQwLDM0IEBAIGNo ZWNrX2FuZF9zZXRfc3luY19pbmZvKHBpZF90IHN5bmNfcHJvY2Vzc19waWQpCiB7CiAJU3Bpbkxv Y2tBY3F1aXJlKCZTbG90U3luY0N0eC0+bXV0ZXgpOwogCisJLyoKKwkgKiBFeGl0IGltbWVkaWF0 ZWx5IGlmIHByb21vdGlvbiBoYXMgYmVlbiB0cmlnZ2VyZWQuICBUaGlzIGd1YXJkcyBhZ2FpbnN0 CisJICogYSBuZXcgd29ya2VyIChvciBhIG5ldyBBUEkgY2FsbCkgdGhhdCBzdGFydHMgYWZ0ZXIg dGhlIG9sZCB3b3JrZXIgd2FzCisJICogc3RvcHBlZCBieSBTaHV0RG93blNsb3RTeW5jKCkuCisJ ICovCisJaWYgKFNsb3RTeW5jQ3R4LT5zdG9wU2lnbmFsZWQpCisJeworCQlTcGluTG9ja1JlbGVh c2UoJlNsb3RTeW5jQ3R4LT5tdXRleCk7CisKKwkJaWYgKEFtTG9naWNhbFNsb3RTeW5jV29ya2Vy UHJvY2VzcygpKQorCQl7CisJCQllcmVwb3J0KExPRywKKwkJCQkJZXJybXNnKCJyZXBsaWNhdGlv biBzbG90IHN5bmNocm9uaXphdGlvbiB3b3JrZXIgd2lsbCBzdG9wIGJlY2F1c2UgcHJvbW90aW9u IGlzIHRyaWdnZXJlZCIpKTsKKworCQkJcHJvY19leGl0KDApOworCQl9CisJCWVsc2UKKwkJewor CQkJLyoKKwkJCSAqIEZvciB0aGUgYmFja2VuZCBleGVjdXRpbmcgU1FMIGZ1bmN0aW9uCisJCQkg KiBwZ19zeW5jX3JlcGxpY2F0aW9uX3Nsb3RzKCkuCisJCQkgKi8KKwkJCWVyZXBvcnQoRVJST1Is CisJCQkJCWVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lURV9TVEFURSks CisJCQkJCWVycm1zZygicmVwbGljYXRpb24gc2xvdCBzeW5jaHJvbml6YXRpb24gd2lsbCBzdG9w IGJlY2F1c2UgcHJvbW90aW9uIGlzIHRyaWdnZXJlZCIpKTsKKwkJfQorCX0KKwogCWlmIChTbG90 U3luY0N0eC0+c3luY2luZykKIAl7CiAJCVNwaW5Mb2NrUmVsZWFzZSgmU2xvdFN5bmNDdHgtPm11 dGV4KTsKQEAgLTE2MzUsNyArMTY3NiwxMCBAQCBSZXBsU2xvdFN5bmNXb3JrZXJNYWluKGNvbnN0 IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCiAJCWJvb2wJCXN0 YXJ0ZWRfdHggPSBmYWxzZTsKIAkJTGlzdAkgICAqcmVtb3RlX3Nsb3RzOwogCi0JCVByb2Nlc3NT bG90U3luY0ludGVycnVwdHMoKTsKKwkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKKworCQlpZiAo Q29uZmlnUmVsb2FkUGVuZGluZykKKwkJCXNsb3RzeW5jX3JlcmVhZF9jb25maWcoKTsKIAogCQkv KgogCQkgKiBUaGUgc3lzY2FjaGUgYWNjZXNzIGluIGZldGNoX3JlbW90ZV9zbG90cygpIG5lZWRz IGEgdHJhbnNhY3Rpb24KQEAgLTE3NDgsMTEgKzE3OTIsMTEgQEAgU2h1dERvd25TbG90U3luYyh2 b2lkKQogCVNwaW5Mb2NrUmVsZWFzZSgmU2xvdFN5bmNDdHgtPm11dGV4KTsKIAogCS8qCi0JICog U2lnbmFsIHByb2Nlc3MgZG9pbmcgc2xvdHN5bmMsIGlmIGFueS4gVGhlIHByb2Nlc3Mgd2lsbCBz dG9wIHVwb24KLQkgKiBkZXRlY3RpbmcgdGhhdCB0aGUgc3RvcFNpZ25hbGVkIGZsYWcgaXMgc2V0 IHRvIHRydWUuCisJICogU2lnbmFsIHByb2Nlc3MgZG9pbmcgc2xvdHN5bmMsIGlmIGFueSwgYXNr aW5nIGl0IHRvIHN0b3AuCiAJICovCiAJaWYgKHN5bmNfcHJvY2Vzc19waWQgIT0gSW52YWxpZFBp ZCkKLQkJa2lsbChzeW5jX3Byb2Nlc3NfcGlkLCBTSUdVU1IxKTsKKwkJU2VuZFByb2NTaWduYWwo c3luY19wcm9jZXNzX3BpZCwgUFJPQ1NJR19TTE9UU1lOQ19NRVNTQUdFLAorCQkJCQkgICBJTlZB TElEX1BST0NfTlVNQkVSKTsKIAogCS8qIFdhaXQgZm9yIHNsb3Qgc3luYyB0byBlbmQgKi8KIAlm b3IgKDs7KQpAQCAtMTkzMSw5ICsxOTc1LDYgQEAgU3luY1JlcGxpY2F0aW9uU2xvdHMoV2FsUmVj ZWl2ZXJDb25uICp3cmNvbm4pCiAKIAkJY2hlY2tfYW5kX3NldF9zeW5jX2luZm8oTXlQcm9jUGlk KTsKIAotCQkvKiBDaGVjayBmb3IgaW50ZXJydXB0cyBhbmQgY29uZmlnIGNoYW5nZXMgKi8KLQkJ UHJvY2Vzc1Nsb3RTeW5jSW50ZXJydXB0cygpOwotCiAJCXZhbGlkYXRlX3JlbW90ZV9pbmZvKHdy Y29ubik7CiAKIAkJLyogUmV0cnkgdW50aWwgYWxsIHRoZSBzbG90cyBhcmUgc3luYy1yZWFkeSAq LwpAQCAtMTk0Myw3ICsxOTg0LDEwIEBAIFN5bmNSZXBsaWNhdGlvblNsb3RzKFdhbFJlY2VpdmVy Q29ubiAqd3Jjb25uKQogCQkJYm9vbAkJc29tZV9zbG90X3VwZGF0ZWQgPSBmYWxzZTsKIAogCQkJ LyogQ2hlY2sgZm9yIGludGVycnVwdHMgYW5kIGNvbmZpZyBjaGFuZ2VzICovCi0JCQlQcm9jZXNz U2xvdFN5bmNJbnRlcnJ1cHRzKCk7CisJCQlDSEVDS19GT1JfSU5URVJSVVBUUygpOworCisJCQlp ZiAoQ29uZmlnUmVsb2FkUGVuZGluZykKKwkJCQlzbG90c3luY19yZXJlYWRfY29uZmlnKCk7CiAK IAkJCS8qIFdlIG11c3QgYmUgaW4gYSB2YWxpZCB0cmFuc2FjdGlvbiBzdGF0ZSAqLwogCQkJQXNz ZXJ0KElzVHJhbnNhY3Rpb25TdGF0ZSgpKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3Jh Z2UvaXBjL3Byb2NzaWduYWwuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NzaWduYWwu YwppbmRleCA3ZTAxN2M4ZDUzYi4uOTk3OTJiMTM3NjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3N0b3JhZ2UvaXBjL3Byb2NzaWduYWwuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9w cm9jc2lnbmFsLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJwb3J0L3BnX2JpdHV0aWxz LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbGN0bC5oIgogI2luY2x1ZGUgInJlcGxp Y2F0aW9uL2xvZ2ljYWx3b3JrZXIuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi9zbG90c3luYy5o IgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dhbHNlbmRlci5oIgogI2luY2x1ZGUgInN0b3JhZ2Uv Y29uZGl0aW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9pcGMuaCIKQEAgLTcwMCw2 ICs3MDEsOSBAQCBwcm9jc2lnbmFsX3NpZ3VzcjFfaGFuZGxlcihTSUdOQUxfQVJHUykKIAlpZiAo Q2hlY2tQcm9jU2lnbmFsKFBST0NTSUdfUEFSQUxMRUxfQVBQTFlfTUVTU0FHRSkpCiAJCUhhbmRs ZVBhcmFsbGVsQXBwbHlNZXNzYWdlSW50ZXJydXB0KCk7CiAKKwlpZiAoQ2hlY2tQcm9jU2lnbmFs KFBST0NTSUdfU0xPVFNZTkNfTUVTU0FHRSkpCisJCUhhbmRsZVNsb3RTeW5jTWVzc2FnZUludGVy cnVwdCgpOworCiAJaWYgKENoZWNrUHJvY1NpZ25hbChQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNU KSkKIAkJSGFuZGxlUmVjb3ZlcnlDb25mbGljdEludGVycnVwdCgpOwogCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMgYi9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMK aW5kZXggYjM1NjMxMTMyMTkuLjc1ODBiYThiNWY1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90 Y29wL3Bvc3RncmVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCkBAIC01OCw2 ICs1OCw3IEBACiAjaW5jbHVkZSAicG9zdG1hc3Rlci9wb3N0bWFzdGVyLmgiCiAjaW5jbHVkZSAi cmVwbGljYXRpb24vbG9naWNhbGxhdW5jaGVyLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vbG9n aWNhbHdvcmtlci5oIgorI2luY2x1ZGUgInJlcGxpY2F0aW9uL3Nsb3RzeW5jLmgiCiAjaW5jbHVk ZSAicmVwbGljYXRpb24vc2xvdC5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dhbHNlbmRlci5o IgogI2luY2x1ZGUgInJld3JpdGUvcmV3cml0ZUhhbmRsZXIuaCIKQEAgLTM1NzYsNiArMzU3Nyw5 IEBAIFByb2Nlc3NJbnRlcnJ1cHRzKHZvaWQpCiAKIAlpZiAoUGFyYWxsZWxBcHBseU1lc3NhZ2VQ ZW5kaW5nKQogCQlQcm9jZXNzUGFyYWxsZWxBcHBseU1lc3NhZ2VzKCk7CisKKwlpZiAoU2xvdFN5 bmNTaHV0ZG93bikKKwkJSGFuZGxlU2xvdFN5bmNNZXNzYWdlKCk7CiB9CiAKIC8qCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90c3luYy5oIGIvc3JjL2luY2x1ZGUvcmVw bGljYXRpb24vc2xvdHN5bmMuaAppbmRleCBlNTQ2ZDBkMDUwZC4uZGViYWM3ODdhYjIgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3RzeW5jLmgKKysrIGIvc3JjL2luY2x1 ZGUvcmVwbGljYXRpb24vc2xvdHN5bmMuaApAQCAtMTIsMTAgKzEyLDE1IEBACiAjaWZuZGVmIFNM T1RTWU5DX0gKICNkZWZpbmUgU0xPVFNZTkNfSAogCisjaW5jbHVkZSA8c2lnbmFsLmg+CisKICNp bmNsdWRlICJyZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oIgogCiBleHRlcm4gUEdETExJTVBPUlQg Ym9vbCBzeW5jX3JlcGxpY2F0aW9uX3Nsb3RzOwogCisvKiBJbnRlcnJ1cHQgZmxhZyBzZXQgYnkg SGFuZGxlU2xvdFN5bmNNZXNzYWdlSW50ZXJydXB0KCkgKi8KK2V4dGVybiBQR0RMTElNUE9SVCB2 b2xhdGlsZSBzaWdfYXRvbWljX3QgU2xvdFN5bmNTaHV0ZG93bjsKKwogLyoKICAqIEdVQ3MgbmVl ZGVkIGJ5IHNsb3Qgc3luYyB3b3JrZXIgdG8gY29ubmVjdCB0byB0aGUgcHJpbWFyeQogICogc2Vy dmVyIGFuZCBjYXJyeSBvbiB3aXRoIHNsb3RzIHN5bmNocm9uaXphdGlvbi4KQEAgLTM0LDUgKzM5 LDcgQEAgZXh0ZXJuIGJvb2wgSXNTeW5jaW5nUmVwbGljYXRpb25TbG90cyh2b2lkKTsKIGV4dGVy biBTaXplIFNsb3RTeW5jU2htZW1TaXplKHZvaWQpOwogZXh0ZXJuIHZvaWQgU2xvdFN5bmNTaG1l bUluaXQodm9pZCk7CiBleHRlcm4gdm9pZCBTeW5jUmVwbGljYXRpb25TbG90cyhXYWxSZWNlaXZl ckNvbm4gKndyY29ubik7CitleHRlcm4gdm9pZCBIYW5kbGVTbG90U3luY01lc3NhZ2VJbnRlcnJ1 cHQodm9pZCk7CitleHRlcm4gdm9pZCBIYW5kbGVTbG90U3luY01lc3NhZ2Uodm9pZCk7CiAKICNl bmRpZgkJCQkJCQkvKiBTTE9UU1lOQ19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9y YWdlL3Byb2NzaWduYWwuaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvY3NpZ25hbC5oCmluZGV4 IDM0OGZiYTUzYTkzLi4zYTc1ZDUwMGU3YyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFn ZS9wcm9jc2lnbmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jc2lnbmFsLmgKQEAg LTM2LDYgKzM2LDcgQEAgdHlwZWRlZiBlbnVtCiAJUFJPQ1NJR19CQVJSSUVSLAkJCS8qIGdsb2Jh bCBiYXJyaWVyIGludGVycnVwdCAgKi8KIAlQUk9DU0lHX0xPR19NRU1PUllfQ09OVEVYVCwgLyog YXNrIGJhY2tlbmQgdG8gbG9nIHRoZSBtZW1vcnkgY29udGV4dHMgKi8KIAlQUk9DU0lHX1BBUkFM TEVMX0FQUExZX01FU1NBR0UsIC8qIE1lc3NhZ2UgZnJvbSBwYXJhbGxlbCBhcHBseSB3b3JrZXJz ICovCisJUFJPQ1NJR19TTE9UU1lOQ19NRVNTQUdFLAkvKiBhc2sgc2xvdHN5bmMgd29ya2VyL0FQ SSB0byBzdG9wICovCiAJUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVCwJLyogYmFja2VuZCBpcyBi bG9ja2luZyByZWNvdmVyeSwgY2hlY2sKIAkJCQkJCQkJICogUEdQUk9DLT5wZW5kaW5nUmVjb3Zl cnlDb25mbGljdHMgZm9yIHRoZQogCQkJCQkJCQkgKiByZWFzb24gKi8KLS0gCjIuNTAuMSAoQXBw bGUgR2l0LTE1NSkKCg== --000000000000fb7571064e00c591--