Subject: Re: core dump filename format
To: None <email@example.com>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
Date: 09/08/1999 10:54:20
> I though p_comm was the same thing as argv.
It usually is. But there's no reason argv passed to exec has to
bear any relation to the pathname passed to exec (though it
conventionally does, that's just a convention), and the latter seems to
be what p_comm is derived from.
>> Another potentially useful format would be one that would get the
>> signal that caused the core. This could be either name or number,
>> preferably with both forms available
> Good idea. What letters ? :)
My first impulse is to suggest %s and %S, but I think avoiding %s
entirely would be a good idea. (I'd also be inclined to avoid %d.)
Perhaps %S0 and %Sa (numeric and alpha forms)? %k and %K ("k"illing
>>> [getrlimit/setrlimit] would now take a void * parameter, which
>>> would be a struct rlimit * or char *,
>> I'm not sure I like this; it breaks binary compatability on machines
>> where struct pointers and void pointers don't "smell the same" (eg,
>> are different sizes). Does NetBSD currently run on any such
(I suspect the answer to the last question is "no", in which case this
is rather a non-issue. I'm not even sure gcc supports such
>> [...maybe sysctl(3) / __sysctl(2)...] would also sidestep the
>> question of how to return a string of more or less unlimited length
> This should be limited to MAXPATHLEN, isn't it ?
Since fairly few formats will be longer than the text they can
generate, it's unlikely. We certainly could decree by fiat that the
coredump format is limited to MAXPATHLEN.... :-)
>> through the getrlimit() interface, even as extended.
> Won't /copyoutstr DTRT ?
Well, as far as copying it goes, presumably. I'm just uneasy around
interfaces that return strings of potentially large size without taking
a size parameter. termcap used this for tgetent() and look at the mess
that resulted when termcap entries got large. getwd() did this and it
proved to be enough of a problem that getcwd() was created.
7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B