tree dbe3f5d5f4ad88b7bdf3c3b7bceacc102488280c
parent 0320653d29cd625775dc4e910001acc5f014f9a7
author Karsten Sperling <113487422+ksperling-apple@users.noreply.github.com> 1727942236 +1300
committer GitHub <noreply@github.com> 1727942236 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJm/k5cCRC1aQ7uu5UhlAAAchIQAI2ZPQHOZn6ZEqnMUVPvxCn4
 TNzMP9liMCqr+WITLGiTXSj/4Rqxz4nNkJ+loOOficBPKFWixreZ6r2cNIHhDoR5
 mHd/cVjvkLMTRK//NeSTjkvbEMrXLtdLuwxwlcSt5tHs4+wQe0SV4eSV3c6s8MES
 jaujpZIbM/MbHX4VMlfpK9cNm5lWFtXNxw34gvZBAqWe1mxilhK38oWqS0oP+/0y
 w4E1LgJcIof0W3m9NwZBdxtr+4mcggQawNBAOZof/P1UrTYdIdBYUtTCGL7zi4m+
 NWmIHUMl6YbcpQ6xOj/mCF1KmuNvgakGd3HYaMlPcyK7z8bf72tlplf1EtbbPV87
 ED/rfNmx11jT+NgYi768KOmsSqTHLknxk8pwmDqCK4HM4c7xWo8kX+BHu7s3vNwz
 L2cqVWLP6L0j9pvoWWa4ourkp9Yc/MW6tL0F/pwXr0YdByGdxrWYPbZGLKaA5VJH
 HtbDHwKXPS/Mcpppyj+OEMkXyU2D2MdDfCsKG6f5QqCGgEtbNHePee/80HxDGCBG
 3lMqnT2LsrAWrq16q5VaZ05A/JQ+cAYJPE2QmYyQlX8QQATgN2Tp+yNrpWIx4amF
 EAdXLziGQBc33T8kCQuMtEZ6fdICs+4ZDoMDL1aprHWi+jfQnml/tCrBNdGhiOmI
 f7UE0IYaF1go4IVzdlF/
 =EFh8
 -----END PGP SIGNATURE-----
 

Darwin: Avoid autorelease handling around LoggerForModule (#35884)

We don't want the LoggerForModule() implementation to call retain/autorelease
on the logger, because its unnecessary, and because LoggerForModule() can be
called from a C++ context without an auto-release pool in place.

To avoid this, we can have LoggerForModule() return a raw pointer, and handle
the bridge cast to os_log_t on the caller side. This also avoids unnecessary
code on the caller side that would otherwise attempt to rescue the
presumed-autoreleased logger object from the ARP.