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 1wVtqC-002GNK-18 for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Jun 2026 16:25:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVtqB-00GFPO-07 for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Jun 2026 16:25:43 +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 1wVtqA-00GFPE-1X for pgsql-hackers@lists.postgresql.org; Sat, 06 Jun 2026 16:25:42 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wVtq8-00000001Pw8-2xcd for pgsql-hackers@lists.postgresql.org; Sat, 06 Jun 2026 16:25:41 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-6913160c9ddso2128965a12.2 for ; Sat, 06 Jun 2026 09:25:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780763138; cv=none; d=google.com; s=arc-20240605; b=JVF5TQuRnCQzN6YPcvxbZUnndQ/jD46X0n8VUDD1MksXY9+1gPNAMWf266xizzDnHi XoPd2nJA5mVDY713eVgVL4azUEEMs8ACm9HQWC0FqNHmM/YEOife5uXTrFiHLOg0xU0o Hue+DCH82pLN6JC63GRCTSkYHM0l94JGPGLj4gH+xtj+NIfpa6qspOwRff9TP5O5V04n GhoNYKRH2i2iYf191dTGsdyVn5mK1ROenopUJfGo98fWOn1G+zbKGHdm6jQVm0RYd0Qg 5+WJS/C+WNViEo1CYt2H/IcSlvHO1SyZiXMF0Xhjg/+QcThRqJfRZ9umoZbRnzySUeSA B1sg== 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=iOK+ZKWQdVD3neHbilRGHNMDxIXyvPfo/6nhds0Aems=; fh=CrzqGmjyZrlJG5kdb3f86kDu35wttxNe0Db4viQX9dE=; b=faICripc4WE+XHgIWR2jx5SfF+8h48uDYfgtrSUiE2fHnQt0PFdY6yLgUAo/hh/bEE 4fRQnN5vpA8i0Cud8kdRJfQ0HTz4yvlogROE5Or2TGs3F1sieJ+YCY6f4sseV/RtZuMA GRaqr+J62s8y7VacgYi5VEUGZCqhWNxTQoBKy5FY60f7gS5ItsCVwHV0CXB8OxgOyGvT UngETJh2Emez781e4iiutXtrNx/BGSccagL6wRrs+Z5qyQ0PDppvWzaN17nnOP1CBlI2 5L0JmINNo2nWk+BEKQhnaf6yDQ4scZ0UiQPsKtUzJ+B07UTNIE41W+PQ+Ov+RqGBgrpb dx8Q==; 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=1780763138; x=1781367938; 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=iOK+ZKWQdVD3neHbilRGHNMDxIXyvPfo/6nhds0Aems=; b=UTVh1s7PQiw3mJZAS3wfNCWLvvOuuGA7ySQubiqGrIT1ZPI4UpRyZlIhGgAoqO5gWn IFwMOYElO13mwGR/9NjU0ovLLRGuqf+ICMaQHR+7X6nW6gAihC4VCdrkZ5T/1w6tZyaA c/Tl6g+jdJm9gdWBb3g6gURxazGT4JSLC2jv+FxPJidIPIMK/oodZdSh7EwVLMPwvUKK ZTGHtcDDLtid5PynOTD6nWBS3Fvtx7DI1rLQj797Lzv6Eivk3sX74vXej1IrRdf8fZYf dO4BnUKSN0njZI/9IaBQT1sBPtmZDO5CaVKp980ga7i/U5BKRFzjGOGo+n6i2LHyE60t wX1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780763138; x=1781367938; 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=iOK+ZKWQdVD3neHbilRGHNMDxIXyvPfo/6nhds0Aems=; b=Lb39azv7UxTi2mJVC1ty0cDdjFITm0VmVR85uw+tMkkmx7/P7kCEp7usp4nY3oPidZ 3V4mumyDthHAEdtmsaXlDrsRXOHkFLLyvm70WGzI6iiRKAEyc+Lpj78QMQSm5caWroga 7mZ0QT3e6BfuoXobBescnby/LYAXPN713k9Nu2DkSJFNlSKwk2ElytMihdgCrkrPieYc rOeeO/A7jnFtt7+Lhb0F6LFxPUxumPxFTgeo8Pm1YZRBn/JiUA+h1kWX3BJoMVOQ3FbN kKgQabQ/hUeObUluJCV/6O2CxaoYc6Bx4B85JDLk6hqDd12eOLfmFcdAUgWrSbAwAMet ZSmA== X-Gm-Message-State: AOJu0YxaWyfGPE0Mw4Ql7qegiiQZZSVdaIb3mbTAZG8WDZqv9gz9JEgo e0MOiMOBzCoeK5nCoJCafFspwkG3jB/QasEO89c7DMXofZS2IKCX0tALp69TsjLqu8y+nL5UGZV yNXFu8mlklQcIj+9O40ddnhsPiK6gnGLse3wWils= X-Gm-Gg: Acq92OFLlQ7vNJvw3ZLgXsdDO0YCP4ddfHbiq+p6vqPMUArDmyQquSTD6cDYDUiEAK1 RS4sfjmbiu3flw8VuhluagKmq3bbCfcrQv+FpooL4dMmln50cpyidKkLzfhCNCYBqLlkqUclCw6 9yaJKuFvNU4jUX+sGQUN3vxun+z07kwRJDgZfEzGP6OII2wMy3+OupxZR9CTItCNCRMR0SMZvY/ MFtI1a57WY/iU+91Z2rvaTbxpg/GHaNhmQhT+I5XHRblCzmGFMMhqa9K+4cRjYy/2X7xY9H7B7D +U+Ivye16VdKt20zmSXpRDSBxiQcLqQX0sCbHmNAEDqhh07kazY= X-Received: by 2002:a05:6402:a518:10b0:68f:cc95:ba5b with SMTP id 4fb4d7f45d1cf-68fcc95bb11mr2722988a12.27.1780763137301; Sat, 06 Jun 2026 09:25:37 -0700 (PDT) MIME-Version: 1.0 References: <20260601.144922.658666928129832364.horikyota.ntt@gmail.com> In-Reply-To: <20260601.144922.658666928129832364.horikyota.ntt@gmail.com> From: =?UTF-8?B?7Iug7ISx7KSA?= Date: Sun, 7 Jun 2026 01:25:25 +0900 X-Gm-Features: AVVi8Cfv7xnFJdtbNd8BZ2xTCg2ArNBv3AJEPJEuXFUDqkZIlscRGAzcmudGmVQ 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="0000000000003d00680653983aa5" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003d00680653983aa5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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, Ky= otaro 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 reports > > 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 --0000000000003d00680653983aa5 Content-Type: application/octet-stream; name="v3-0001-Add-wait-events-for-server-logging-destination-wr.patch" Content-Disposition: attachment; filename="v3-0001-Add-wait-events-for-server-logging-destination-wr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq2kd2nj0 RnJvbSBmMDRmMTJhZmM3NWU2OTI1MTZkM2Q1MDQyZWM5M2I0ODMzZGJmZTYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZW9uZ2p1biBTaGluIDxzaGluc2o0NjUzQGdtYWlsLmNvbT4K RGF0ZTogRnJpLCAyOSBNYXkgMjAyNiAxNDo0NToyMyArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjMg MS8yXSBBZGQgd2FpdCBldmVudHMgZm9yIHNlcnZlciBsb2dnaW5nIGRlc3RpbmF0aW9uIHdyaXRl cwoKV2hlbiBhIGJhY2tlbmQgd3JpdGVzIHNlcnZlciBsb2cgb3V0cHV0LCB0aGUgdW5kZXJseWlu ZyBjYWxsIGNhbgpibG9jazogd3JpdGUoMikgdG8gdGhlIHN5c2xvZ2dlciBwaXBlIG9yIHRvIHN0 ZGVyciBvbmNlIHRoZSBwaXBlCmJ1ZmZlciBmaWxscyB1cCBvciB0aGUgb3V0cHV0IGRldmljZSBp cyBzbG93LCBhbmQgc3lzbG9nKDMpIHdoZW4gdGhlCnN5c3RlbSBsb2dnZXIgaXMgc2xvdy4gIFRo ZXNlIGJsb2NraW5nIGNhbGxzIHdlcmUgbm90IGluc3RydW1lbnRlZCwgc28KcGdfc3RhdF9hY3Rp dml0eSByZXBvcnRlZCB3YWl0X2V2ZW50IElTIE5VTEwgZHVyaW5nIHRoYXQgdGltZS4gIE1hbnkK bW9uaXRvcmluZyB0b29scyBpbnRlcnByZXQgTlVMTCBhcyBvbi1DUFUgd29yaywgd2hpY2ggbWFk ZQpoZWF2eS1sb2dnaW5nIHN0YWxscyBoYXJkIHRvIGF0dHJpYnV0ZS4KCkFkZCB0aHJlZSBuZXcg V2FpdEV2ZW50SU8gZXZlbnRzIGFuZCByZXBvcnQgdGhlbSBhcm91bmQgdGhlIHJlbGV2YW50CmNh bGxzOgoKICBJTyAvIFN5c2xvZ2dlcldyaXRlIC0gd3JpdGUoMikgdG8gdGhlIHN5c2xvZ2dlciBw aXBlIGluc2lkZQogICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9waXBlX2NodW5rcygpLgog IElPIC8gU3RkZXJyV3JpdGUgICAgLSB3cml0ZSgyKSB0byBzdGRlcnIgaW5zaWRlIHdyaXRlX2Nv bnNvbGUoKS4KICBJTyAvIFN5c2xvZ1dyaXRlICAgIC0gc3lzbG9nKDMpIGluc2lkZSB3cml0ZV9z eXNsb2coKS4KClRoZSBpbnN0cnVtZW50YXRpb24gaXMgbGltaXRlZCB0byB0aGUgbGVhZiB3cml0 ZS9zeXNsb2cgY2FsbC4gIEl0IHVzZXMKb25seSB0aGUgZXhpc3RpbmcgcGdzdGF0X3JlcG9ydF93 YWl0X3N0YXJ0KCkvZW5kKCkgaW5saW5lIGhlbHBlcnMsCndoaWNoIGFyZSBhbGxvY2F0aW9uLWZy ZWUgYW5kIHNhZmUgdG8gY2FsbCBiZWZvcmUgTXlQcm9jIGlzIHNldCB1cCwgc28KdGhpcyByZW1h aW5zIHNhZmUgdG8gaW52b2tlIGZyb20gd2l0aGluIGVycm9yIHJlcG9ydGluZyBwYXRocy4KLS0t CiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dCB8ICAzICsr Kwogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgICAgfCAxMSAr KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9uYW1lcy50eHQgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dAppbmRleCA1NTM3YTJk MjUzMC4uZmE1MjhkZjAzZjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3dhaXRfZXZlbnRfbmFtZXMudHh0CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dh aXRfZXZlbnRfbmFtZXMudHh0CkBAIC0yNTMsNiArMjUzLDkgQEAgU0xSVV9XUklURQkiV2FpdGlu ZyBmb3IgYSB3cml0ZSBvZiBhbiBTTFJVIHBhZ2UuIgogU05BUEJVSUxEX1JFQUQJIldhaXRpbmcg Zm9yIGEgcmVhZCBvZiBhIHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRhbG9nIHNuYXBzaG90LiIK IFNOQVBCVUlMRF9TWU5DCSJXYWl0aW5nIGZvciBhIHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRh bG9nIHNuYXBzaG90IHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS4iCiBTTkFQQlVJTERfV1JJVEUJ IldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYSBzZXJpYWxpemVkIGhpc3RvcmljYWwgY2F0YWxvZyBz bmFwc2hvdC4iCitTVERFUlJfV1JJVEUJIldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdGhlIHNlcnZl cidzIHN0YW5kYXJkIGVycm9yIHN0cmVhbS4iCitTWVNMT0dHRVJfV1JJVEUJIldhaXRpbmcgZm9y IGEgd3JpdGUgdG8gdGhlIHN5c2xvZ2dlciBwaXBlLiIKK1NZU0xPR19XUklURQkiV2FpdGluZyBm b3IgYSB3cml0ZSB0byB0aGUgc3lzdGVtIGxvZ2dlciAoc3lzbG9nKS4iCiBUSU1FTElORV9ISVNU T1JZX0ZJTEVfU1lOQwkiV2FpdGluZyBmb3IgYSB0aW1lbGluZSBoaXN0b3J5IGZpbGUgcmVjZWl2 ZWQgdmlhIHN0cmVhbWluZyByZXBsaWNhdGlvbiB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgog VElNRUxJTkVfSElTVE9SWV9GSUxFX1dSSVRFCSJXYWl0aW5nIGZvciBhIHdyaXRlIG9mIGEgdGlt ZWxpbmUgaGlzdG9yeSBmaWxlIHJlY2VpdmVkIHZpYSBzdHJlYW1pbmcgcmVwbGljYXRpb24uIgog VElNRUxJTkVfSElTVE9SWV9SRUFECSJXYWl0aW5nIGZvciBhIHJlYWQgb2YgYSB0aW1lbGluZSBo aXN0b3J5IGZpbGUuIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCmluZGV4IGFhNTMwZDM2ODVlLi4yMmQy Y2Y4ZTc5ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwpAQCAtODQsNiArODQsNyBAQAogI2luY2x1 ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcHNfc3RhdHVzLmgiCiAjaW5j bHVkZSAidXRpbHMvdmFybGVuYS5oIgorI2luY2x1ZGUgInV0aWxzL3dhaXRfZXZlbnQuaCIKIAog CiAvKiBJbiB0aGlzIG1vZHVsZSwgYWNjZXNzIGdldHRleHQoKSB2aWEgZXJyX2dldHRleHQoKSAq LwpAQCAtMjQ2NiwxMCArMjQ2NywxMiBAQCB3cml0ZV9zeXNsb2coaW50IGxldmVsLCBjb25zdCBj aGFyICpsaW5lKQogCiAJCQljaHVua19ucisrOwogCisJCQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3Rh cnQoV0FJVF9FVkVOVF9TWVNMT0dfV1JJVEUpOwogCQkJaWYgKHN5c2xvZ19zZXF1ZW5jZV9udW1i ZXJzKQogCQkJCXN5c2xvZyhsZXZlbCwgIlslbHUtJWRdICVzIiwgc2VxLCBjaHVua19uciwgYnVm KTsKIAkJCWVsc2UKIAkJCQlzeXNsb2cobGV2ZWwsICJbJWRdICVzIiwgY2h1bmtfbnIsIGJ1Zik7 CisJCQlwZ3N0YXRfcmVwb3J0X3dhaXRfZW5kKCk7CiAKIAkJCWxpbmUgKz0gYnVmbGVuOwogCQkJ bGVuIC09IGJ1ZmxlbjsKQEAgLTI0NzgsMTAgKzI0ODEsMTIgQEAgd3JpdGVfc3lzbG9nKGludCBs ZXZlbCwgY29uc3QgY2hhciAqbGluZSkKIAllbHNlCiAJewogCQkvKiBtZXNzYWdlIHNob3J0IGVu b3VnaCAqLworCQlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQoV0FJVF9FVkVOVF9TWVNMT0dfV1JJ VEUpOwogCQlpZiAoc3lzbG9nX3NlcXVlbmNlX251bWJlcnMpCiAJCQlzeXNsb2cobGV2ZWwsICJb JWx1XSAlcyIsIHNlcSwgbGluZSk7CiAJCWVsc2UKIAkJCXN5c2xvZyhsZXZlbCwgIiVzIiwgbGlu ZSk7CisJCXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKIAl9CiB9CiAjZW5kaWYJCQkJCQkJLyog SEFWRV9TWVNMT0cgKi8KQEAgLTI2NjIsNyArMjY2Nyw5IEBAIHdyaXRlX2NvbnNvbGUoY29uc3Qg Y2hhciAqbGluZSwgaW50IGxlbikKIAkgKiBXZSBpZ25vcmUgYW55IGVycm9yIGZyb20gd3JpdGUo KSBoZXJlLiAgV2UgaGF2ZSBubyB1c2VmdWwgd2F5IHRvIHJlcG9ydAogCSAqIGl0IC4uLiBjZXJ0 YWlubHkgd2hpbmluZyBvbiBzdGRlcnIgaXNuJ3QgbGlrZWx5IHRvIGJlIHByb2R1Y3RpdmUuCiAJ ICovCisJcGdzdGF0X3JlcG9ydF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRfU1RERVJSX1dSSVRFKTsK IAlyYyA9IHdyaXRlKGZpbGVubyhzdGRlcnIpLCBsaW5lLCBsZW4pOworCXBnc3RhdF9yZXBvcnRf d2FpdF9lbmQoKTsKIAkodm9pZCkgcmM7CiB9CiAKQEAgLTM1MDMsNyArMzUxMCw5IEBAIHdyaXRl X3BpcGVfY2h1bmtzKGNoYXIgKmRhdGEsIGludCBsZW4sIGludCBkZXN0KQogCQkvKiBubyBuZWVk IHRvIHNldCBQSVBFX1BST1RPX0lTX0xBU1QgeWV0ICovCiAJCXAucHJvdG8ubGVuID0gUElQRV9N QVhfUEFZTE9BRDsKIAkJbWVtY3B5KHAucHJvdG8uZGF0YSwgZGF0YSwgUElQRV9NQVhfUEFZTE9B RCk7CisJCXBnc3RhdF9yZXBvcnRfd2FpdF9zdGFydChXQUlUX0VWRU5UX1NZU0xPR0dFUl9XUklU RSk7CiAJCXJjID0gd3JpdGUoZmQsICZwLCBQSVBFX0hFQURFUl9TSVpFICsgUElQRV9NQVhfUEFZ TE9BRCk7CisJCXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKIAkJKHZvaWQpIHJjOwogCQlkYXRh ICs9IFBJUEVfTUFYX1BBWUxPQUQ7CiAJCWxlbiAtPSBQSVBFX01BWF9QQVlMT0FEOwpAQCAtMzUx Myw3ICszNTIyLDkgQEAgd3JpdGVfcGlwZV9jaHVua3MoY2hhciAqZGF0YSwgaW50IGxlbiwgaW50 IGRlc3QpCiAJcC5wcm90by5mbGFncyB8PSBQSVBFX1BST1RPX0lTX0xBU1Q7CiAJcC5wcm90by5s ZW4gPSBsZW47CiAJbWVtY3B5KHAucHJvdG8uZGF0YSwgZGF0YSwgbGVuKTsKKwlwZ3N0YXRfcmVw b3J0X3dhaXRfc3RhcnQoV0FJVF9FVkVOVF9TWVNMT0dHRVJfV1JJVEUpOwogCXJjID0gd3JpdGUo ZmQsICZwLCBQSVBFX0hFQURFUl9TSVpFICsgbGVuKTsKKwlwZ3N0YXRfcmVwb3J0X3dhaXRfZW5k KCk7CiAJKHZvaWQpIHJjOwogfQogCi0tIAoyLjUwLjEgKEFwcGxlIEdpdC0xNTUpCgo= --0000000000003d00680653983aa5 Content-Type: application/octet-stream; name="v3-0002-Add-wait-events-for-Windows-specific-logging-outp.patch" Content-Disposition: attachment; filename="v3-0002-Add-wait-events-for-Windows-specific-logging-outp.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq2kd2nx1 RnJvbSA0MTRkOTFjOWFkMzU3NTRhNmRiZGViN2Q0NTkxNTdhYTUzY2E0ZjZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZW9uZ2p1biBTaGluIDxzaGluc2o0NjUzQGdtYWlsLmNvbT4K RGF0ZTogRnJpLCAyOSBNYXkgMjAyNiAxNDo1MjoxMSArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjMg Mi8yXSBBZGQgd2FpdCBldmVudHMgZm9yIFdpbmRvd3Mtc3BlY2lmaWMgbG9nZ2luZyBvdXRwdXQK IHBhdGhzCgpPbiBXaW5kb3dzLCBsb2cgb3V0cHV0IGdvZXMgdGhyb3VnaCBwYXRocyBvdGhlciB0 aGFuIHdyaXRlKDIpIHRoYXQgY2FuCmFsc28gYmxvY2s6IHdyaXRlX2NvbnNvbGUoKSBlbWl0cyB0 byB0aGUgY29uc29sZSB3aXRoIFdyaXRlQ29uc29sZVcoKSwKYW5kIHdyaXRlX2V2ZW50bG9nKCkg d3JpdGVzIHRvIHRoZSBXaW5kb3dzIGV2ZW50IGxvZyB3aXRoClJlcG9ydEV2ZW50VygpL1JlcG9y dEV2ZW50QSgpLiAgTGlrZSB0aGUgd3JpdGUoMikgcGF0aCwgdGhlc2UgY2FsbHMgY2FuCmJsb2Nr IGFuZCBwcmV2aW91c2x5IGxlZnQgd2FpdF9ldmVudCBJUyBOVUxMIGluIHBnX3N0YXRfYWN0aXZp dHkuCgpXcmFwIFdyaXRlQ29uc29sZVcoKSB3aXRoIHRoZSBTdGRlcnJXcml0ZSBldmVudCBpbnRy b2R1Y2VkIGluIHRoZQpwcmV2aW91cyBwYXRjaCwgYW5kIGFkZCBhIG5ldyBFdmVudGxvZ1dyaXRl IGV2ZW50IGZvciB0aGUgZXZlbnQgbG9nCnBhdGg6CgogIElPIC8gRXZlbnRsb2dXcml0ZSAtIFJl cG9ydEV2ZW50VygpL1JlcG9ydEV2ZW50QSgpIGluc2lkZQogICAgICAgICAgICAgICAgICAgICAg IHdyaXRlX2V2ZW50bG9nKCkuCgpUaGlzIGluc3RydW1lbnRzIHRoZSBXaW5kb3dzIGxvZ2dpbmcg cGF0aHMgY29uc2lzdGVudGx5IHdpdGggdGhlCndyaXRlKDIpIGFuZCBzeXNsb2coMykgcGF0aHMu ICBJdCBpcyBzcGxpdCBvdXQgZnJvbSB0aGUgcHJldmlvdXMgcGF0Y2gKc2luY2UgaXQgaXMgcGxh dGZvcm0tc3BlY2lmaWMuCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVu dF9uYW1lcy50eHQgfCAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAg ICAgICAgICAgIHwgNyArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfbmFtZXMu dHh0IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9uYW1lcy50eHQKaW5k ZXggZmE1MjhkZjAzZjEuLjU5ZWMwMjNkYmYxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dAorKysgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dApAQCAtMjIzLDYgKzIyMyw3IEBAIERBVEFfRklM RV9UUlVOQ0FURQkiV2FpdGluZyBmb3IgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gYmUgdHJ1bmNh dGVkLiIKIERBVEFfRklMRV9XUklURQkiV2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIHJlbGF0aW9u IGRhdGEgZmlsZS4iCiBEU01fQUxMT0NBVEUJIldhaXRpbmcgZm9yIGEgZHluYW1pYyBzaGFyZWQg bWVtb3J5IHNlZ21lbnQgdG8gYmUgYWxsb2NhdGVkLiIKIERTTV9GSUxMX1pFUk9fV1JJVEUJIldh aXRpbmcgdG8gZmlsbCBhIGR5bmFtaWMgc2hhcmVkIG1lbW9yeSBiYWNraW5nIGZpbGUgd2l0aCB6 ZXJvZXMuIgorRVZFTlRMT0dfV1JJVEUJIldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdGhlIFdpbmRv d3MgZXZlbnQgbG9nLiIKIExPQ0tfRklMRV9BRERUT0RBVEFESVJfUkVBRAkiV2FpdGluZyBmb3Ig YSByZWFkIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0b3J5IGxvY2sgZmls ZS4iCiBMT0NLX0ZJTEVfQUREVE9EQVRBRElSX1NZTkMJIldhaXRpbmcgZm9yIGRhdGEgdG8gcmVh Y2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0 b3J5IGxvY2sgZmlsZS4iCiBMT0NLX0ZJTEVfQUREVE9EQVRBRElSX1dSSVRFCSJXYWl0aW5nIGZv ciBhIHdyaXRlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0b3J5IGxvY2sg ZmlsZS4iCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMv YmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKaW5kZXggMjJkMmNmOGU3OWYuLjA2NzljYWJkMjQ1 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0yNTc0LDYgKzI1NzQsNyBAQCB3cml0ZV9ldmVu dGxvZyhpbnQgbGV2ZWwsIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCiAJCXV0ZjE2ID0gcGd3 aW4zMl9tZXNzYWdlX3RvX1VURjE2KGxpbmUsIGxlbiwgTlVMTCk7CiAJCWlmICh1dGYxNikKIAkJ eworCQkJcGdzdGF0X3JlcG9ydF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRfRVZFTlRMT0dfV1JJVEUp OwogCQkJUmVwb3J0RXZlbnRXKGV2dEhhbmRsZSwKIAkJCQkJCSBldmVudGxldmVsLAogCQkJCQkJ IDAsCkBAIC0yNTgzLDEyICsyNTg0LDE0IEBAIHdyaXRlX2V2ZW50bG9nKGludCBsZXZlbCwgY29u c3QgY2hhciAqbGluZSwgaW50IGxlbikKIAkJCQkJCSAwLAogCQkJCQkJIChMUENXU1RSICopICZ1 dGYxNiwKIAkJCQkJCSBOVUxMKTsKKwkJCXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKIAkJCS8q IFhYWCBUcnkgUmVwb3J0RXZlbnRBKCkgd2hlbiBSZXBvcnRFdmVudFcoKSBmYWlscz8gKi8KIAog CQkJcGZyZWUodXRmMTYpOwogCQkJcmV0dXJuOwogCQl9CiAJfQorCXBnc3RhdF9yZXBvcnRfd2Fp dF9zdGFydChXQUlUX0VWRU5UX0VWRU5UTE9HX1dSSVRFKTsKIAlSZXBvcnRFdmVudEEoZXZ0SGFu ZGxlLAogCQkJCSBldmVudGxldmVsLAogCQkJCSAwLApAQCAtMjU5OCw2ICsyNjAxLDcgQEAgd3Jp dGVfZXZlbnRsb2coaW50IGxldmVsLCBjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuKQogCQkJCSAw LAogCQkJCSAmbGluZSwKIAkJCQkgTlVMTCk7CisJcGdzdGF0X3JlcG9ydF93YWl0X2VuZCgpOwog fQogI2VuZGlmCQkJCQkJCS8qIFdJTjMyICovCiAKQEAgLTI2MzksMTEgKzI2NDMsMTQgQEAgd3Jp dGVfY29uc29sZShjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuKQogCQkJRFdPUkQJCXdyaXR0ZW47 CiAKIAkJCXN0ZEhhbmRsZSA9IEdldFN0ZEhhbmRsZShTVERfRVJST1JfSEFORExFKTsKKwkJCXBn c3RhdF9yZXBvcnRfd2FpdF9zdGFydChXQUlUX0VWRU5UX1NUREVSUl9XUklURSk7CiAJCQlpZiAo V3JpdGVDb25zb2xlVyhzdGRIYW5kbGUsIHV0ZjE2LCB1dGYxNmxlbiwgJndyaXR0ZW4sIE5VTEwp KQogCQkJeworCQkJCXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKIAkJCQlwZnJlZSh1dGYxNik7 CiAJCQkJcmV0dXJuOwogCQkJfQorCQkJcGdzdGF0X3JlcG9ydF93YWl0X2VuZCgpOwogCiAJCQkv KgogCQkJICogSW4gY2FzZSBXcml0ZUNvbnNvbGVXKCkgZmFpbGVkLCBmYWxsIGJhY2sgdG8gd3Jp dGluZyB0aGUKLS0gCjIuNTAuMSAoQXBwbGUgR2l0LTE1NSkKCg== --0000000000003d00680653983aa5--