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 1wVuGW-002GdS-0x for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Jun 2026 16:52:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVuGU-00GHqR-0h for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Jun 2026 16:52:54 +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 1wVuGT-00GHqI-2j for pgsql-hackers@lists.postgresql.org; Sat, 06 Jun 2026 16:52:53 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wVuGR-00000001cMP-1ogR for pgsql-hackers@lists.postgresql.org; Sat, 06 Jun 2026 16:52:53 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-bec450b950dso418853966b.2 for ; Sat, 06 Jun 2026 09:52:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780764768; cv=none; d=google.com; s=arc-20240605; b=GF9+9x9QywvkgWRexgJ3WMLUG3/SkT9ZiAP2KW38vu2TflqmWi2OYrB/YuxLfMYNcE OerH8AvLG4oBUMtsYaYCl2O59dDUjhR+w3mX3Z8C83IuSON0hIKGJJjfB61p/ZfvZ2Vi gqVw7hruMNsrXPGHrwrohnbEKdwQsrOlANs9IY2NVAQuY0t2BMloOHV3fqcfaUu03XDJ Ez1KH6DUi7Y7PH86CwDy9ptGLIkD0S1gWBCsyf72urfaodRVoO/EJieEIJnkN4mG6m2X 0wrlMNj6B8CGPb0rKqKeBDpfq5o5AFO+v73WgPSvHPCXg3z6HDyQSi3mg2S1lKZzBj49 0+EA== 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=MdAtT3EiKFXsOxChW9c16F4FCeTZAijMLdIonhFCB+c=; fh=CrzqGmjyZrlJG5kdb3f86kDu35wttxNe0Db4viQX9dE=; b=XR3gFuTYRjtc/4sWsLErko5FQ2cgTxLfXJ5mQ55t3xWRVWQ4RFqKYeRsHoaNy/P1/n pzv1hqACuFHP+plVopSjQJZUX1VX67H1ANTdXFdr79j+ly670F4Bq6amR1+3iKbfuXVJ /PKswi8yJkrweuYnAAYwIh9nKir+rC9UKfTSH5c3mv3O1ZV3SsI7EqXyCvVK5KQ9YnY/ AFpdNq3GGhDABVMwJpXdou7yRtWWJzJk/R5AYvSO40m4aDUvcuTM9cic1NAO3Nn0KU9x M7gpiL3hZHgODhvo53jbZ5jlhIY4LQl+1lv++/oOYrg9QeCLtlOUBhJN14K/Mjgamk/0 hkDA==; 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=1780764768; x=1781369568; 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=MdAtT3EiKFXsOxChW9c16F4FCeTZAijMLdIonhFCB+c=; b=Bcg5Mqz7rdjxsUZV35kO1stFxb+/HwUIgpEu78lXkL1ADjFG85tRSAoq75qDDRcMDs SW2KUV7Yd8+Q+K8gq3Az/gFXnj/WpgnrHuo5BlcRlJtQVwWCDnCfKEvsKg27zoexvf9/ 9YiMg3D0sXtTZb1ILTfZmI1pBwiKdH57GSgf2hX5rFRb/tBcXQQjhnK+woyFhIsC00G6 uiPLMJqmtigtohuHrrqxYg/He8RCN/MCkfFm0db5tAcjtvx/KyIOawiFAifS+PL6ygPp MU/+t0cMOhD0Ez3GeqBz3zMfN+/I7QH6XS+VAbkhk+2nY48r0a4UjvNTlx/7HV5YIGYY bcgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780764768; x=1781369568; 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=MdAtT3EiKFXsOxChW9c16F4FCeTZAijMLdIonhFCB+c=; b=gtiGVBZm9ZUz+z5tjGavtiU16YQ69xTK8yX+byqSNVvn4pHp8+6pe0nmGPeFJeNwqG bDZEw4G1oY9+X5KUXyOfB5SJndrN3Zmybj1GtXORT3DMsTPhj/l9Zn3gSzufCvYWsBpw Dm+kR9aQ5pW81GLcIbPToNoB+ejVfZgNvgGc8t72zUBj3stJz2V3gKBEJZMdXshDtJOK /vkV6eD5hqHo8eMjFdNnS25HgnaW5zky8X2TRqAlUTRyum0DbwpiTCWeX9lXjpKK8tFT 8E0GOk54qOSneYfQ6YxN8VgTwboPzCCNX6PixA7yF3Alupcud8VtkzKIxkoLNT5MUExg OQGQ== X-Gm-Message-State: AOJu0YzMBn8/B01lbAOnPyeTUoVGBTOqQln8NBfzK47+jsP371hk5jg3 7O0625/3baDjBpEyZ5ttR/Q2sQJZm4tsFdgISLzzuYG2o10qLglTHXVaMduZyYSNOj8B4hsm2n5 3kc9gdM6CQtGgVOgpdHCJZ8PBpU3XyM19+yYlucI= X-Gm-Gg: Acq92OGbFs+PAH4963rkn4AW4g7JcfkPs+s/+1kwBRO6vPdF39mkRrHna++inRHmmsS H1XsfCjKxc+NhuAnAMicdDHeOoCWrs1unKTajzyGmx8q+/3g3zOZiQn0F53dtHaXdUH9EtUeMQ8 qNw1iXFn5Nz5au7xM0UVn0uVMNvVyIn8Eot6IEUHu46rHzeN1ESFDSElvN+yNcmX9TcTE6D8S13 diz6rVehCbmFzUtUSY1RXl6zQtg7ZANeIlfPQP0lh89z45k/g/y2r8SXsP0HlJ68NuscmSQe2om lKQiyMw0W9q/UGQtrgiQdoHF+U0Ibxkm0o1jTTa12g8B0xUSHGk= X-Received: by 2002:a17:907:1ca9:b0:be9:45e8:1767 with SMTP id a640c23a62f3a-bf370c61226mr481264666b.19.1780764767525; Sat, 06 Jun 2026 09:52:47 -0700 (PDT) MIME-Version: 1.0 References: <20260601.144922.658666928129832364.horikyota.ntt@gmail.com> In-Reply-To: From: =?UTF-8?B?7Iug7ISx7KSA?= Date: Sun, 7 Jun 2026 01:52:34 +0900 X-Gm-Features: AVVi8CcbTyPJC3WnRbTM5uc_ejVSO8bOLCNbKCFgk0JprcpJIUzgcszp29KGx3U Message-ID: Subject: Re: Add wait events for server logging destination writes To: pgsql-hackers@lists.postgresql.org Cc: wolakk@gmail.com, Kyotaro Horiguchi , x4mmm@yandex-team.ru, andreas@proxel.se, nik@postgres.ai Content-Type: multipart/mixed; boundary="000000000000685f250653989b6a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000685f250653989b6a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, cfbot flagged v3 as needing a rebase -- it stopped applying after the recent changes to elog.c (the switch to a const WCHAR pointer in write_eventlog(), pgindent, etc.) and the new COPY pipe wait events in wait_event_names.txt. v4 is the same change rebased over current master, no functional difference from v3. The only real conflict was in write_eventlog(), where the EventlogWrite wrapping now sits on top of the const utf16_const pointer; everything else merged cleanly. Still applies as two patches: v4-0001 - portable part (SysloggerWrite, StderrWrite, SyslogWrite) v4-0002 - Windows part (WriteConsoleW plus EventlogWrite) Builds clean on current master with both Autoconf and Meson, no new warnings. Thanks, Seongjun Shin 2026=EB=85=84 6=EC=9B=94 7=EC=9D=BC (=EC=9D=BC) =EC=98=A4=EC=A0=84 1:25, = =EC=8B=A0=EC=84=B1=EC=A4=80 =EB=8B=98=EC=9D=B4 =EC=9E= =91=EC=84=B1: > > Hi, > > Thanks Kirk, glad it's useful. > > Kyotaro Horiguchi wrote: > > Should we also consider instrumenting ReportEventW()/ReportEventA()? > > They seem to be another Windows-specific logging output path. > > > > Also, if the intention is to cover all places where logging output > > can block, I wonder whether the syslog() calls should be covered as > > well. > > Good points -- both are blocking output paths and there's no real > reason to leave them out, so v3 instruments them rather than excluding > them with a comment. The intent is exactly to cover the places where > logging output can block, so this makes the series consistent. > > v3 adds two more WaitEventIO events: > > IO / SyslogWrite - syslog(3) in write_syslog() > IO / EventlogWrite - ReportEventW()/ReportEventA() in write_eventlog() > > Same approach as before: the wait is reported only around the leaf > call, using the existing pgstat_report_wait_start()/end() helpers, so > it stays allocation-free and safe on the error-reporting path, and the > series still touches just elog.c and wait_event_names.txt. > > This also matches Michael's point on v2 -- each event covers a routine > rather than a single call site, so SyslogWrite wraps the syslog(3) > calls in write_syslog() and EventlogWrite wraps both ReportEvent > variants in write_eventlog(), the same way SysloggerWrite already > covers the two writes in write_pipe_chunks(). > > As before, 0001 is the portable part and 0002 is the Windows part > (WriteConsoleW plus the new EventlogWrite). > > One caveat: EventlogWrite is Windows-only, so I couldn't get a runtime > before/after for it here -- I've only confirmed it builds (cfbot's > Windows task should cover that). The other events still show up in the > sampling I posted earlier. If someone on Windows can exercise the > event-log path I'd appreciate a confirmation. > > Applies cleanly on current master; full build passes locally on both > Autoconf and Meson, with no new warnings. > > Thanks, > Seongjun Shin > > 2026=EB=85=84 6=EC=9B=94 1=EC=9D=BC (=EC=9B=94) =EC=98=A4=ED=9B=84 2:49, = Kyotaro Horiguchi =EB=8B=98=EC=9D=B4 =EC=9E=91=EC= =84=B1: > > > > Hello. > > > > At Sun, 31 May 2026 17:50:08 +0900, =EC=8B=A0=EC=84=B1=EC=A4=80 wrote in > > > Attached is a short series that adds two WaitEventIO events and repor= ts > > > them around those writes: > > > > > > IO / SysloggerWrite - write(2) to the syslogger pipe > > > IO / StderrWrite - write(2) to stderr, and WriteConsoleW() > > > > > > 0001 adds the events and covers the write(2) paths. 0002 does the > > > Windows WriteConsoleW() path, split out since it's platform-specific. > > > > Should we also consider instrumenting ReportEventW()/ReportEventA()? > > They seem to be another Windows-specific logging output path. > > > > Also, if the intention is to cover all places where logging output can > > block, I wonder whether the syslog() calls should be covered as > > well. If they are intentionally excluded, perhaps a short comment > > explaining the rationale would be useful. > > > > Regards. > > > > -- > > Kyotaro Horiguchi > > NTT Open Source Software Center --000000000000685f250653989b6a Content-Type: application/octet-stream; name="v4-0001-Add-wait-events-for-server-logging-destination-wr.patch" Content-Disposition: attachment; filename="v4-0001-Add-wait-events-for-server-logging-destination-wr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq2lcqjc0 RnJvbSBjZjc1NDJkYTNhZmIwMWYwZWI2MTAzMWEyOGM3YzhkNDRmM2RjMDRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZW9uZ2p1biBTaGluIDxzaGluc2o0NjUzQGdtYWlsLmNvbT4K RGF0ZTogRnJpLCAyOSBNYXkgMjAyNiAxNDo0NToyMyArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjQg MS8yXSBBZGQgd2FpdCBldmVudHMgZm9yIHNlcnZlciBsb2dnaW5nIGRlc3RpbmF0aW9uIHdyaXRl cwoKV2hlbiBhIGJhY2tlbmQgd3JpdGVzIHNlcnZlciBsb2cgb3V0cHV0LCB0aGUgdW5kZXJseWlu ZyBjYWxsIGNhbgpibG9jazogd3JpdGUoMikgdG8gdGhlIHN5c2xvZ2dlciBwaXBlIG9yIHRvIHN0 ZGVyciBvbmNlIHRoZSBwaXBlCmJ1ZmZlciBmaWxscyB1cCBvciB0aGUgb3V0cHV0IGRldmljZSBp cyBzbG93LCBhbmQgc3lzbG9nKDMpIHdoZW4gdGhlCnN5c3RlbSBsb2dnZXIgaXMgc2xvdy4gIFRo ZXNlIGJsb2NraW5nIGNhbGxzIHdlcmUgbm90IGluc3RydW1lbnRlZCwgc28KcGdfc3RhdF9hY3Rp dml0eSByZXBvcnRlZCB3YWl0X2V2ZW50IElTIE5VTEwgZHVyaW5nIHRoYXQgdGltZS4gIE1hbnkK bW9uaXRvcmluZyB0b29scyBpbnRlcnByZXQgTlVMTCBhcyBvbi1DUFUgd29yaywgd2hpY2ggbWFk ZQpoZWF2eS1sb2dnaW5nIHN0YWxscyBoYXJkIHRvIGF0dHJpYnV0ZS4KCkFkZCB0aHJlZSBuZXcg V2FpdEV2ZW50SU8gZXZlbnRzIGFuZCByZXBvcnQgdGhlbSBhcm91bmQgdGhlIHJlbGV2YW50CmNh bGxzOgoKICBJTyAvIFN5c2xvZ2dlcldyaXRlIC0gd3JpdGUoMikgdG8gdGhlIHN5c2xvZ2dlciBw aXBlIGluc2lkZQogICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9waXBlX2NodW5rcygpLgog IElPIC8gU3RkZXJyV3JpdGUgICAgLSB3cml0ZSgyKSB0byBzdGRlcnIgaW5zaWRlIHdyaXRlX2Nv bnNvbGUoKS4KICBJTyAvIFN5c2xvZ1dyaXRlICAgIC0gc3lzbG9nKDMpIGluc2lkZSB3cml0ZV9z eXNsb2coKS4KClRoZSBpbnN0cnVtZW50YXRpb24gaXMgbGltaXRlZCB0byB0aGUgbGVhZiB3cml0 ZS9zeXNsb2cgY2FsbC4gIEl0IHVzZXMKb25seSB0aGUgZXhpc3RpbmcgcGdzdGF0X3JlcG9ydF93 YWl0X3N0YXJ0KCkvZW5kKCkgaW5saW5lIGhlbHBlcnMsCndoaWNoIGFyZSBhbGxvY2F0aW9uLWZy ZWUgYW5kIHNhZmUgdG8gY2FsbCBiZWZvcmUgTXlQcm9jIGlzIHNldCB1cCwgc28KdGhpcyByZW1h aW5zIHNhZmUgdG8gaW52b2tlIGZyb20gd2l0aGluIGVycm9yIHJlcG9ydGluZyBwYXRocy4KLS0t CiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dCB8ICAzICsr Kwogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgICAgfCAxMSAr KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9uYW1lcy50eHQgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dAppbmRleCA1NjA2NTlm OTU2OC4uZDRhMGY2MzYxYWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3dhaXRfZXZlbnRfbmFtZXMudHh0CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dh aXRfZXZlbnRfbmFtZXMudHh0CkBAIC0yNTgsNiArMjU4LDkgQEAgU0xSVV9XUklURQkiV2FpdGlu ZyBmb3IgYSB3cml0ZSBvZiBhbiBTTFJVIHBhZ2UuIgogU05BUEJVSUxEX1JFQUQJIldhaXRpbmcg Zm9yIGEgcmVhZCBvZiBhIHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRhbG9nIHNuYXBzaG90LiIK IFNOQVBCVUlMRF9TWU5DCSJXYWl0aW5nIGZvciBhIHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRh bG9nIHNuYXBzaG90IHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS4iCiBTTkFQQlVJTERfV1JJVEUJ IldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYSBzZXJpYWxpemVkIGhpc3RvcmljYWwgY2F0YWxvZyBz bmFwc2hvdC4iCitTVERFUlJfV1JJVEUJIldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdGhlIHNlcnZl cidzIHN0YW5kYXJkIGVycm9yIHN0cmVhbS4iCitTWVNMT0dHRVJfV1JJVEUJIldhaXRpbmcgZm9y IGEgd3JpdGUgdG8gdGhlIHN5c2xvZ2dlciBwaXBlLiIKK1NZU0xPR19XUklURQkiV2FpdGluZyBm b3IgYSB3cml0ZSB0byB0aGUgc3lzdGVtIGxvZ2dlciAoc3lzbG9nKS4iCiBUSU1FTElORV9ISVNU T1JZX0ZJTEVfU1lOQwkiV2FpdGluZyBmb3IgYSB0aW1lbGluZSBoaXN0b3J5IGZpbGUgcmVjZWl2 ZWQgdmlhIHN0cmVhbWluZyByZXBsaWNhdGlvbiB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgog VElNRUxJTkVfSElTVE9SWV9GSUxFX1dSSVRFCSJXYWl0aW5nIGZvciBhIHdyaXRlIG9mIGEgdGlt ZWxpbmUgaGlzdG9yeSBmaWxlIHJlY2VpdmVkIHZpYSBzdHJlYW1pbmcgcmVwbGljYXRpb24uIgog VElNRUxJTkVfSElTVE9SWV9SRUFECSJXYWl0aW5nIGZvciBhIHJlYWQgb2YgYSB0aW1lbGluZSBo aXN0b3J5IGZpbGUuIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCmluZGV4IDUwYzUzYjU3MWEwLi44ZDY1 OWIwOTZmNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwpAQCAtODksNiArODksNyBAQAogI2luY2x1 ZGUgInV0aWxzL3BnX2xvY2FsZS5oIgogI2luY2x1ZGUgInV0aWxzL3BzX3N0YXR1cy5oIgogI2lu Y2x1ZGUgInV0aWxzL3ZhcmxlbmEuaCIKKyNpbmNsdWRlICJ1dGlscy93YWl0X2V2ZW50LmgiCiAK IAogLyogSW4gdGhpcyBtb2R1bGUsIGFjY2VzcyBnZXR0ZXh0KCkgdmlhIGVycl9nZXR0ZXh0KCkg Ki8KQEAgLTI4OTAsMTAgKzI4OTEsMTIgQEAgd3JpdGVfc3lzbG9nKGludCBsZXZlbCwgY29uc3Qg Y2hhciAqbGluZSkKIAogCQkJY2h1bmtfbnIrKzsKIAorCQkJcGdzdGF0X3JlcG9ydF93YWl0X3N0 YXJ0KFdBSVRfRVZFTlRfU1lTTE9HX1dSSVRFKTsKIAkJCWlmIChzeXNsb2dfc2VxdWVuY2VfbnVt YmVycykKIAkJCQlzeXNsb2cobGV2ZWwsICJbJWx1LSVkXSAlcyIsIHNlcSwgY2h1bmtfbnIsIGJ1 Zik7CiAJCQllbHNlCiAJCQkJc3lzbG9nKGxldmVsLCAiWyVkXSAlcyIsIGNodW5rX25yLCBidWYp OworCQkJcGdzdGF0X3JlcG9ydF93YWl0X2VuZCgpOwogCiAJCQlsaW5lICs9IGJ1ZmxlbjsKIAkJ CWxlbiAtPSBidWZsZW47CkBAIC0yOTAyLDEwICsyOTA1LDEyIEBAIHdyaXRlX3N5c2xvZyhpbnQg bGV2ZWwsIGNvbnN0IGNoYXIgKmxpbmUpCiAJZWxzZQogCXsKIAkJLyogbWVzc2FnZSBzaG9ydCBl bm91Z2ggKi8KKwkJcGdzdGF0X3JlcG9ydF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRfU1lTTE9HX1dS SVRFKTsKIAkJaWYgKHN5c2xvZ19zZXF1ZW5jZV9udW1iZXJzKQogCQkJc3lzbG9nKGxldmVsLCAi WyVsdV0gJXMiLCBzZXEsIGxpbmUpOwogCQllbHNlCiAJCQlzeXNsb2cobGV2ZWwsICIlcyIsIGxp bmUpOworCQlwZ3N0YXRfcmVwb3J0X3dhaXRfZW5kKCk7CiAJfQogfQogI2VuZGlmCQkJCQkJCS8q IEhBVkVfU1lTTE9HICovCkBAIC0zMDkwLDcgKzMwOTUsOSBAQCB3cml0ZV9jb25zb2xlKGNvbnN0 IGNoYXIgKmxpbmUsIGludCBsZW4pCiAJICogV2UgaWdub3JlIGFueSBlcnJvciBmcm9tIHdyaXRl KCkgaGVyZS4gIFdlIGhhdmUgbm8gdXNlZnVsIHdheSB0byByZXBvcnQKIAkgKiBpdCAuLi4gY2Vy dGFpbmx5IHdoaW5pbmcgb24gc3RkZXJyIGlzbid0IGxpa2VseSB0byBiZSBwcm9kdWN0aXZlLgog CSAqLworCXBnc3RhdF9yZXBvcnRfd2FpdF9zdGFydChXQUlUX0VWRU5UX1NUREVSUl9XUklURSk7 CiAJcmMgPSB3cml0ZShmaWxlbm8oc3RkZXJyKSwgbGluZSwgbGVuKTsKKwlwZ3N0YXRfcmVwb3J0 X3dhaXRfZW5kKCk7CiAJKHZvaWQpIHJjOwogfQogCkBAIC0zOTM3LDcgKzM5NDQsOSBAQCB3cml0 ZV9waXBlX2NodW5rcyhjaGFyICpkYXRhLCBpbnQgbGVuLCBpbnQgZGVzdCkKIAkJLyogbm8gbmVl ZCB0byBzZXQgUElQRV9QUk9UT19JU19MQVNUIHlldCAqLwogCQlwLnByb3RvLmxlbiA9IFBJUEVf TUFYX1BBWUxPQUQ7CiAJCW1lbWNweShwLnByb3RvLmRhdGEsIGRhdGEsIFBJUEVfTUFYX1BBWUxP QUQpOworCQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQoV0FJVF9FVkVOVF9TWVNMT0dHRVJfV1JJ VEUpOwogCQlyYyA9IHdyaXRlKGZkLCAmcCwgUElQRV9IRUFERVJfU0laRSArIFBJUEVfTUFYX1BB WUxPQUQpOworCQlwZ3N0YXRfcmVwb3J0X3dhaXRfZW5kKCk7CiAJCSh2b2lkKSByYzsKIAkJZGF0 YSArPSBQSVBFX01BWF9QQVlMT0FEOwogCQlsZW4gLT0gUElQRV9NQVhfUEFZTE9BRDsKQEAgLTM5 NDcsNyArMzk1Niw5IEBAIHdyaXRlX3BpcGVfY2h1bmtzKGNoYXIgKmRhdGEsIGludCBsZW4sIGlu dCBkZXN0KQogCXAucHJvdG8uZmxhZ3MgfD0gUElQRV9QUk9UT19JU19MQVNUOwogCXAucHJvdG8u bGVuID0gbGVuOwogCW1lbWNweShwLnByb3RvLmRhdGEsIGRhdGEsIGxlbik7CisJcGdzdGF0X3Jl cG9ydF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRfU1lTTE9HR0VSX1dSSVRFKTsKIAlyYyA9IHdyaXRl KGZkLCAmcCwgUElQRV9IRUFERVJfU0laRSArIGxlbik7CisJcGdzdGF0X3JlcG9ydF93YWl0X2Vu ZCgpOwogCSh2b2lkKSByYzsKIH0KIAotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1KQoK --000000000000685f250653989b6a Content-Type: application/octet-stream; name="v4-0002-Add-wait-events-for-Windows-specific-logging-outp.patch" Content-Disposition: attachment; filename="v4-0002-Add-wait-events-for-Windows-specific-logging-outp.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq2lcqjk1 RnJvbSBmZWQ3YWQ2NGU4MTEzMTMyZTg2ZDA0NTkxN2JiMThiNjljODQzYWE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZW9uZ2p1biBTaGluIDxzaGluc2o0NjUzQGdtYWlsLmNvbT4K RGF0ZTogRnJpLCAyOSBNYXkgMjAyNiAxNDo1MjoxMSArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjQg Mi8yXSBBZGQgd2FpdCBldmVudHMgZm9yIFdpbmRvd3Mtc3BlY2lmaWMgbG9nZ2luZyBvdXRwdXQK IHBhdGhzCgpPbiBXaW5kb3dzLCBsb2cgb3V0cHV0IGdvZXMgdGhyb3VnaCBwYXRocyBvdGhlciB0 aGFuIHdyaXRlKDIpIHRoYXQgY2FuCmFsc28gYmxvY2s6IHdyaXRlX2NvbnNvbGUoKSBlbWl0cyB0 byB0aGUgY29uc29sZSB3aXRoIFdyaXRlQ29uc29sZVcoKSwKYW5kIHdyaXRlX2V2ZW50bG9nKCkg d3JpdGVzIHRvIHRoZSBXaW5kb3dzIGV2ZW50IGxvZyB3aXRoClJlcG9ydEV2ZW50VygpL1JlcG9y dEV2ZW50QSgpLiAgTGlrZSB0aGUgd3JpdGUoMikgcGF0aCwgdGhlc2UgY2FsbHMgY2FuCmJsb2Nr IGFuZCBwcmV2aW91c2x5IGxlZnQgd2FpdF9ldmVudCBJUyBOVUxMIGluIHBnX3N0YXRfYWN0aXZp dHkuCgpXcmFwIFdyaXRlQ29uc29sZVcoKSB3aXRoIHRoZSBTdGRlcnJXcml0ZSBldmVudCBpbnRy b2R1Y2VkIGluIHRoZQpwcmV2aW91cyBwYXRjaCwgYW5kIGFkZCBhIG5ldyBFdmVudGxvZ1dyaXRl IGV2ZW50IGZvciB0aGUgZXZlbnQgbG9nCnBhdGg6CgogIElPIC8gRXZlbnRsb2dXcml0ZSAtIFJl cG9ydEV2ZW50VygpL1JlcG9ydEV2ZW50QSgpIGluc2lkZQogICAgICAgICAgICAgICAgICAgICAg IHdyaXRlX2V2ZW50bG9nKCkuCgpUaGlzIGluc3RydW1lbnRzIHRoZSBXaW5kb3dzIGxvZ2dpbmcg cGF0aHMgY29uc2lzdGVudGx5IHdpdGggdGhlCndyaXRlKDIpIGFuZCBzeXNsb2coMykgcGF0aHMu ICBJdCBpcyBzcGxpdCBvdXQgZnJvbSB0aGUgcHJldmlvdXMgcGF0Y2gKc2luY2UgaXQgaXMgcGxh dGZvcm0tc3BlY2lmaWMuCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVu dF9uYW1lcy50eHQgfCAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAg ICAgICAgICAgIHwgNyArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfbmFtZXMu dHh0IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9uYW1lcy50eHQKaW5k ZXggZDRhMGY2MzYxYWQuLmJjZmU5MDQ5NzM0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dAorKysgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dApAQCAtMjI4LDYgKzIyOCw3IEBAIERBVEFfRklM RV9UUlVOQ0FURQkiV2FpdGluZyBmb3IgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gYmUgdHJ1bmNh dGVkLiIKIERBVEFfRklMRV9XUklURQkiV2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIHJlbGF0aW9u IGRhdGEgZmlsZS4iCiBEU01fQUxMT0NBVEUJIldhaXRpbmcgZm9yIGEgZHluYW1pYyBzaGFyZWQg bWVtb3J5IHNlZ21lbnQgdG8gYmUgYWxsb2NhdGVkLiIKIERTTV9GSUxMX1pFUk9fV1JJVEUJIldh aXRpbmcgdG8gZmlsbCBhIGR5bmFtaWMgc2hhcmVkIG1lbW9yeSBiYWNraW5nIGZpbGUgd2l0aCB6 ZXJvZXMuIgorRVZFTlRMT0dfV1JJVEUJIldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdGhlIFdpbmRv d3MgZXZlbnQgbG9nLiIKIExPQ0tfRklMRV9BRERUT0RBVEFESVJfUkVBRAkiV2FpdGluZyBmb3Ig YSByZWFkIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0b3J5IGxvY2sgZmls ZS4iCiBMT0NLX0ZJTEVfQUREVE9EQVRBRElSX1NZTkMJIldhaXRpbmcgZm9yIGRhdGEgdG8gcmVh Y2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0 b3J5IGxvY2sgZmlsZS4iCiBMT0NLX0ZJTEVfQUREVE9EQVRBRElSX1dSSVRFCSJXYWl0aW5nIGZv ciBhIHdyaXRlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0b3J5IGxvY2sg ZmlsZS4iCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMv YmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKaW5kZXggOGQ2NTliMDk2ZjQuLjhiOWEyZGU1Yjlj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0zMDAyLDYgKzMwMDIsNyBAQCB3cml0ZV9ldmVu dGxvZyhpbnQgbGV2ZWwsIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCiAJCXsKIAkJCWNvbnN0 IFdDSEFSICp1dGYxNl9jb25zdCA9IHV0ZjE2OwogCisJCQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3Rh cnQoV0FJVF9FVkVOVF9FVkVOVExPR19XUklURSk7CiAJCQlSZXBvcnRFdmVudFcoZXZ0SGFuZGxl LAogCQkJCQkJIGV2ZW50bGV2ZWwsCiAJCQkJCQkgMCwKQEAgLTMwMTEsMTIgKzMwMTIsMTQgQEAg d3JpdGVfZXZlbnRsb2coaW50IGxldmVsLCBjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuKQogCQkJ CQkJIDAsCiAJCQkJCQkgJnV0ZjE2X2NvbnN0LAogCQkJCQkJIE5VTEwpOworCQkJcGdzdGF0X3Jl cG9ydF93YWl0X2VuZCgpOwogCQkJLyogWFhYIFRyeSBSZXBvcnRFdmVudEEoKSB3aGVuIFJlcG9y dEV2ZW50VygpIGZhaWxzPyAqLwogCiAJCQlwZnJlZSh1dGYxNik7CiAJCQlyZXR1cm47CiAJCX0K IAl9CisJcGdzdGF0X3JlcG9ydF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRfRVZFTlRMT0dfV1JJVEUp OwogCVJlcG9ydEV2ZW50QShldnRIYW5kbGUsCiAJCQkJIGV2ZW50bGV2ZWwsCiAJCQkJIDAsCkBA IC0zMDI2LDYgKzMwMjksNyBAQCB3cml0ZV9ldmVudGxvZyhpbnQgbGV2ZWwsIGNvbnN0IGNoYXIg KmxpbmUsIGludCBsZW4pCiAJCQkJIDAsCiAJCQkJICZsaW5lLAogCQkJCSBOVUxMKTsKKwlwZ3N0 YXRfcmVwb3J0X3dhaXRfZW5kKCk7CiB9CiAjZW5kaWYJCQkJCQkJLyogV0lOMzIgKi8KIApAQCAt MzA2NywxMSArMzA3MSwxNCBAQCB3cml0ZV9jb25zb2xlKGNvbnN0IGNoYXIgKmxpbmUsIGludCBs ZW4pCiAJCQlEV09SRAkJd3JpdHRlbjsKIAogCQkJc3RkSGFuZGxlID0gR2V0U3RkSGFuZGxlKFNU RF9FUlJPUl9IQU5ETEUpOworCQkJcGdzdGF0X3JlcG9ydF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRf U1RERVJSX1dSSVRFKTsKIAkJCWlmIChXcml0ZUNvbnNvbGVXKHN0ZEhhbmRsZSwgdXRmMTYsIHV0 ZjE2bGVuLCAmd3JpdHRlbiwgTlVMTCkpCiAJCQl7CisJCQkJcGdzdGF0X3JlcG9ydF93YWl0X2Vu ZCgpOwogCQkJCXBmcmVlKHV0ZjE2KTsKIAkJCQlyZXR1cm47CiAJCQl9CisJCQlwZ3N0YXRfcmVw b3J0X3dhaXRfZW5kKCk7CiAKIAkJCS8qCiAJCQkgKiBJbiBjYXNlIFdyaXRlQ29uc29sZVcoKSBm YWlsZWQsIGZhbGwgYmFjayB0byB3cml0aW5nIHRoZQotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1 KQoK --000000000000685f250653989b6a--