| From: | Bryan Green <dbryan(dot)green(at)gmail(dot)com> |
|---|---|
| To: | Álvaro Herrera <alvherre(at)kurilemu(dot)de> |
| Cc: | Euler Taveira <euler(at)eulerto(dot)com>, Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: [PATCH] Add Windows support for backtrace_functions (MSVC only) |
| Date: | 2026-02-23 20:31:34 |
| Message-ID: | 00e2f579-99d8-4b80-94c0-745612ac2ff5@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 2/23/2026 2:16 PM, Álvaro Herrera wrote:
> Hello, thanks for following up.
>
> However, I was going over the commit message one final time after your
> reply, and I noticed that SymInitialize()'s documentation says quite
> explicitly:
>
> "Do not use the handle returned by GetCurrentProcess"
> https://learn.microsoft.com/en-us/windows/win32/api/dbghelp/nf-dbghelp-syminitialize
>
> which is exactly what we do with this patch.
>
> I think we should DuplicateHandle() on the GetCurrentProcess() handle
> (which then obviously needs CloseHandle afterwards). Would you agree?
>
> Here's the whole thing again with edited commit message and some trivial
> stylistic changes.
>
>
> I was amused to discover that Solaris, macOS and FreeBSD all copied the
> backtrace() interface from glibc, and the only platform in the buildfarm
> other than Windows that seems to lack support for backtraces is Alpine
> Linux.
>
> Regards
>
Ouch. Can't believe I missed that. Yeah, that is a no go. We could
use openprocess with the getcurrentprocessid. Let me look this over.
And yes, regardless of which way we do it we will need a CloseHandle.
--
Bryan Green
EDB: https://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bryan Green | 2026-02-23 20:32:55 | Re: [PATCH] Add Windows support for backtrace_functions (MSVC only) |
| Previous Message | Peter Eisentraut | 2026-02-23 20:27:30 | Re: Use LOCKMODE in parse_relation.c/.h |