Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pX1x2-0005MZ-TA for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Feb 2023 15:31:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pX1x1-0006CB-Jk for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Feb 2023 15:31:35 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pX1x1-0006C2-2E for pgsql-hackers@lists.postgresql.org; Tue, 28 Feb 2023 15:31:35 +0000 Received: from mail-lj1-x22e.google.com ([2a00:1450:4864:20::22e]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pX1wx-0001o5-Ki for pgsql-hackers@lists.postgresql.org; Tue, 28 Feb 2023 15:31:33 +0000 Received: by mail-lj1-x22e.google.com with SMTP id j17so10636354ljq.11 for ; Tue, 28 Feb 2023 07:31:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677598289; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=RnKWFhMWWJaCNyajmoCbhIm6Zip12kms85s6n3jkCbw=; b=f3OZmxg0FjCIgdnJm3ZmA44S4y/A6u88YrM+qbBgO+yqS/z71KwUcm957xAWvbzAFZ hRAaWL6NZmliZ8XlK1Eu5CrvYg5jeJ3tF5p3aBXpDGiiTxX407vwXjF7bXyuVVBc3cnD qi5UBQKQGDXdo4yMiiIV7fnGbKaGoa1s+wjLzRjuHT2Ox/EEnL5bXG0TH1Lx9noXWzjf UXUa+2mJpIApGQulIqAdLIgNIIU+J6d+gnC7PaCF+d+s4F+x9Nnv1vGUxWpT2p72oCM9 SdOtkzszNIKTzP8A0oVyVm6NITO10RR4HYxIsk2gp4p3eKNWnj8Th7kRcDvni9yXWM/k ibPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677598289; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=RnKWFhMWWJaCNyajmoCbhIm6Zip12kms85s6n3jkCbw=; b=T3BUaJEfVa37DgvpZWZSRjqCvwpLkT9ye/wktsRttcXK8k8ScmbRzXLDo8CXXlWTh/ oh4qF+sujt2E78qZ/eSz8OmNO3KBEkZyb86Dmw0VpYugyWA7ZWzyAkYoMmF01yYONkms WQ+vwjTNFa1dIz1wGMRFC2gULPDfOrX06FhX5+m4mJAladPZBaLzuzlbbPJU/TvyCsNw M8M1WIp/S/F+F82aaLJKP9Qn9pMW2q6M3MNnyuGF6tkPhI5hq9G33YP0tb0D5blS2uE3 busvipqJHpaTwZNDvxevXTIOSjsVhIxdX/4tkZUHOtFUlkoWhGhf2o99enTU49nyhbEM NbNw== X-Gm-Message-State: AO0yUKVivroFmgFyjGTis1QjI+b8pHWLSt/eYl25/bk7xS600QHhwGga SFKuaoelCCbAhYw62ZvheE+KqeQhWnHeZyQseGHRGNAs X-Google-Smtp-Source: AK7set8IkrLVXiP3rvfAIEr1U4amob4KRe/rwVp39zDQ+CB+G9kH9vWztvF0d1vMFY10EG1LsMypie4/PipTh4gI9nQ= X-Received: by 2002:a2e:5c2:0:b0:295:945d:b381 with SMTP id 185-20020a2e05c2000000b00295945db381mr911849ljf.7.1677598289635; Tue, 28 Feb 2023 07:31:29 -0800 (PST) MIME-Version: 1.0 From: Bharath Rupireddy Date: Tue, 28 Feb 2023 21:00:00 +0530 Message-ID: Subject: Avoid multiple SetLatch() calls in procsignal_sigusr1_handler() To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000213f7905f5c44a0f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000213f7905f5c44a0f Content-Type: text/plain; charset="UTF-8" Hi, Most of the multiplexed SIGUSR1 handlers are setting latch explicitly when the procsignal_sigusr1_handler() can do that for them at the end. These multiplexed handlers are currently being used as SIGUSR1 handlers, not as independent handlers, so no problem if SetLatch() is removed from them. A few others do it right by saying /* latch will be set by procsignal_sigusr1_handler */. Although, calling SetLatch() in quick succession does no harm (it just returns if the latch was previously set), it seems unnecessary. I'm attaching a patch that avoids multiple SetLatch() calls. Thoughts? -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --000000000000213f7905f5c44a0f Content-Type: application/octet-stream; name="v1-0001-Avoid-multiple-SetLatch-calls-in-procsignal_sigus.patch" Content-Disposition: attachment; filename="v1-0001-Avoid-multiple-SetLatch-calls-in-procsignal_sigus.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_leo7mt5d0 RnJvbSAxMjhkNDVmNTM2MDZhYWVhYzE3Y2RmZDQzZGY4MDFlYzZkN2EzZTUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjggRmViIDIwMjMgMTI6MTE6MzkgKzAw MDAKU3ViamVjdDogW1BBVENIIHYxXSBBdm9pZCBtdWx0aXBsZSBTZXRMYXRjaCgpIGNhbGxzIGlu CiBwcm9jc2lnbmFsX3NpZ3VzcjFfaGFuZGxlcigpCgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3BhcmFsbGVsLmMgICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvY29t bWFuZHMvYXN5bmMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstLS0KIC4uLi9yZXBs aWNhdGlvbi9sb2dpY2FsL2FwcGx5cGFyYWxsZWx3b3JrZXIuYyAgICAgICAgfCAgMiArLQogc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMgICAgICAgICAgICAgICAgICB8ICAyICsr CiBzcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaW52YWwuYyAgICAgICAgICAgICAgICAgICAgIHwg IDQgKy0tLQogc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDEyICsrKystLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp LCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNh bS9wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vcGFyYWxsZWwuYwppbmRl eCBiMjZmMmE2NGZiLi5lMWI0ODI5NWVkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS9wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3BhcmFs bGVsLmMKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEhhbmRsZVBhcmFsbGVsTWVzc2FnZUludGVycnVw dCh2b2lkKQogewogCUludGVycnVwdFBlbmRpbmcgPSB0cnVlOwogCVBhcmFsbGVsTWVzc2FnZVBl bmRpbmcgPSB0cnVlOwotCVNldExhdGNoKE15TGF0Y2gpOworCS8qIGxhdGNoIHdpbGwgYmUgc2V0 IGJ5IHByb2NzaWduYWxfc2lndXNyMV9oYW5kbGVyICovCiB9CiAKIC8qCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvYXN5bmMu YwppbmRleCBlZjkwOWNmNGUwLi5hZDUzM2RiNjU1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy9hc3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FzeW5jLmMKQEAgLTE4 NTksOSArMTg1OSw3IEBAIEhhbmRsZU5vdGlmeUludGVycnVwdCh2b2lkKQogCiAJLyogc2lnbmFs IHRoYXQgd29yayBuZWVkcyB0byBiZSBkb25lICovCiAJbm90aWZ5SW50ZXJydXB0UGVuZGluZyA9 IHRydWU7Ci0KLQkvKiBtYWtlIHN1cmUgdGhlIGV2ZW50IGlzIHByb2Nlc3NlZCBpbiBkdWUgY291 cnNlICovCi0JU2V0TGF0Y2goTXlMYXRjaCk7CisJLyogbGF0Y2ggd2lsbCBiZSBzZXQgYnkgcHJv Y3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIgKi8KIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxlbHdvcmtlci5jIGIvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9hcHBseXBhcmFsbGVsd29ya2VyLmMKaW5kZXggNDUxODY4 Mzc3OS4uNmRiNDBjYzEyMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9hcHBseXBhcmFsbGVsd29ya2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9hcHBseXBhcmFsbGVsd29ya2VyLmMKQEAgLTk4Nyw3ICs5ODcsNyBAQCBIYW5kbGVQ YXJhbGxlbEFwcGx5TWVzc2FnZUludGVycnVwdCh2b2lkKQogewogCUludGVycnVwdFBlbmRpbmcg PSB0cnVlOwogCVBhcmFsbGVsQXBwbHlNZXNzYWdlUGVuZGluZyA9IHRydWU7Ci0JU2V0TGF0Y2go TXlMYXRjaCk7CisJLyogbGF0Y2ggd2lsbCBiZSBzZXQgYnkgcHJvY3NpZ25hbF9zaWd1c3IxX2hh bmRsZXIgKi8KIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dh bHNlbmRlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKaW5kZXggNzVl ODM2M2UyNC4uZjA2M2E3MTJkNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v d2Fsc2VuZGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKQEAg LTMyMTAsNiArMzIxMCw4IEBAIEhhbmRsZVdhbFNuZEluaXRTdG9wcGluZyh2b2lkKQogCQlraWxs KE15UHJvY1BpZCwgU0lHVEVSTSk7CiAJZWxzZQogCQlnb3RfU1RPUFBJTkcgPSB0cnVlOworCisJ LyogbGF0Y2ggd2lsbCBiZSBzZXQgYnkgcHJvY3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIgKi8KIH0K IAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3NpbnZhbC5jIGIvc3Jj L2JhY2tlbmQvc3RvcmFnZS9pcGMvc2ludmFsLmMKaW5kZXggYjQwNWYwODMxMy4uYmQ2YWRjZWY1 MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc2ludmFsLmMKKysrIGIvc3Jj L2JhY2tlbmQvc3RvcmFnZS9pcGMvc2ludmFsLmMKQEAgLTE2MSw5ICsxNjEsNyBAQCBIYW5kbGVD YXRjaHVwSW50ZXJydXB0KHZvaWQpCiAJICovCiAKIAljYXRjaHVwSW50ZXJydXB0UGVuZGluZyA9 IHRydWU7Ci0KLQkvKiBtYWtlIHN1cmUgdGhlIGV2ZW50IGlzIHByb2Nlc3NlZCBpbiBkdWUgY291 cnNlICovCi0JU2V0TGF0Y2goTXlMYXRjaCk7CisJLyogbGF0Y2ggd2lsbCBiZSBzZXQgYnkgcHJv Y3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIgKi8KIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3Rjb3AvcG9zdGdyZXMuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYwppbmRleCBj YWI3MDliMDdiLi4yYTM0NzdkYzgwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3Bvc3Rn cmVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCkBAIC0zMDA3LDggKzMwMDcs NiBAQCBGbG9hdEV4Y2VwdGlvbkhhbmRsZXIoU0lHTkFMX0FSR1MpCiB2b2lkCiBSZWNvdmVyeUNv bmZsaWN0SW50ZXJydXB0KFByb2NTaWduYWxSZWFzb24gcmVhc29uKQogewotCWludAkJCXNhdmVf ZXJybm8gPSBlcnJubzsKLQogCS8qCiAJICogRG9uJ3Qgam9nZ2xlIHRoZSBlbGJvdyBvZiBwcm9j X2V4aXQKIAkgKi8KQEAgLTMxMjMsMTMgKzMxMjEsMTEgQEAgUmVjb3ZlcnlDb25mbGljdEludGVy cnVwdChQcm9jU2lnbmFsUmVhc29uIHJlYXNvbikKIAl9CiAKIAkvKgotCSAqIFNldCB0aGUgcHJv Y2VzcyBsYXRjaC4gVGhpcyBmdW5jdGlvbiBlc3NlbnRpYWxseSBlbXVsYXRlcyBzaWduYWwKLQkg KiBoYW5kbGVycyBsaWtlIGRpZSgpIGFuZCBTdGF0ZW1lbnRDYW5jZWxIYW5kbGVyKCkgYW5kIGl0 IHNlZW1zIHBydWRlbnQKLQkgKiB0byBiZWhhdmUgc2ltaWxhcmx5IGFzIHRoZXkgZG8uCisJICog TGF0Y2ggd2lsbCBiZSBzZXQgYnkgcHJvY3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIuIFRoaXMgZnVu Y3Rpb24KKwkgKiBlc3NlbnRpYWxseSBlbXVsYXRlcyBzaWduYWwgaGFuZGxlcnMgbGlrZSBkaWUo KSBhbmQKKwkgKiBTdGF0ZW1lbnRDYW5jZWxIYW5kbGVyKCkgYW5kIGl0IHNlZW1zIHBydWRlbnQg dG8gYmVoYXZlIHNpbWlsYXJseSBhcworCSAqIHRoZXkgZG8uCiAJICovCi0JU2V0TGF0Y2goTXlM YXRjaCk7Ci0KLQllcnJubyA9IHNhdmVfZXJybm87CiB9CiAKIC8qCi0tIAoyLjM0LjEKCg== --000000000000213f7905f5c44a0f--