[PATCH 1/5] Cygwin: Make 'ulimit -c' control writing a coredump
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue Jan 16 13:54:04 GMT 2024
On Jan 16 13:52, Jon Turney wrote:
> On 15/01/2024 14:28, Corinna Vinschen wrote:
> > On Jan 15 13:27, Jon Turney wrote:
> > > On 15/01/2024 09:46, Corinna Vinschen wrote:
> > > > On Jan 13 14:20, Jon Turney wrote:
> > > > > On 12/01/2024 14:09, Jon Turney wrote:
> > > > > > +
> > > > > > + PWCHAR cp = dumper_command;
> > > > > > + cp = wcpcpy (cp, L"\"");
> > > > > > + cp = wcpcpy (cp, dll_dir);
> > > > > > + cp = wcpcpy (cp, L"\\dumper.exe");
> > > > > > + cp = wcpcpy (cp, L"\" ");
> > > > > > + cp = wcpcpy (cp, L"\"");
> > > > > > + cp = wcpcpy (cp, global_progname);
> > > > >
> > > > > I wonder if this should be program_invocation_short_name, so that the
> > > > > coredump is created in the cwd, rather than next to the executable.
>
> So, when I actually look further into this, what I wrote is utter nonsense.
> dumper/minidumper includes the following:
>
> > ssize_t len = cygwin_conv_path (CCP_POSIX_TO_WIN_A | CCP_RELATIVE,
> > *(argv + optind), NULL, 0);
> > char *win32_name = (char *) alloca (len);
> > cygwin_conv_path (CCP_POSIX_TO_WIN_A | CCP_RELATIVE, *(argv + optind),
> > win32_name, len);
> > if ((p = strrchr (win32_name, '\\')))
> > p++;
> > else
> > p = win32_name;
>
> My eyes moving over this lightly, my brain assumes it just converts from a
> Win32 path to a POSIX path, but actually it does:
>
> 1) convert from POSIX path to Windows path (assuming it's a no-op if the
> path is already in a Windows form
> 2) (now having a consistent path delimiter) use the part after the last
> delimiter (if any), as the basename.
>
> So: no problem here, after all. coredump file is already created in the cwd.
:+1:
More information about the Cygwin-patches
mailing list