* cygheap.cc (cygheap_fixup_in_child): Don't consider a NULL bucket as a

candidate for deletion.  It is actually the end of a linked list chain.
* exceptions.cc (open_stackdumpfile): Default to "unknown" program name if
myself->progname hasn't been filled out yet.
This commit is contained in:
Christopher Faylor 2001-09-06 18:06:27 +00:00
parent 128f2650a5
commit b2bfade325
3 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,12 @@
Thu Sep 6 14:03:49 2001 Christopher Faylor <cgf@cygnus.com>
* cygheap.cc (cygheap_fixup_in_child): Don't consider a NULL bucket as
a candidate for deletion. It is actually the end of a linked list
chain.
* exceptions.cc (open_stackdumpfile): Default to "unknown" program name
if myself->progname hasn't been filled out yet.
Thu Sep 6 01:16:44 2001 Christopher Faylor <cgf@cygnus.com>
Move appropriate variables to NO_COPY segment, throughout.

View File

@ -136,7 +136,7 @@ cygheap_fixup_in_child (child_info *ci, bool execed)
for (_cmalloc_entry *rvc = cygheap->chain; rvc; rvc = rvc->prev)
{
cygheap_entry *ce = (cygheap_entry *) rvc->data;
if (rvc->b >= NBUCKETS || ce->type <= HEAP_1_START)
if (!rvc->ptr || rvc->b >= NBUCKETS || ce->type <= HEAP_1_START)
continue;
else if (ce->type < HEAP_1_MAX)
ce->type += HEAP_1_MAX; /* Mark for freeing after next exec */

View File

@ -158,7 +158,9 @@ open_stackdumpfile ()
{
const char *p;
/* write to progname.stackdump if possible */
if ((p = strrchr (myself->progname, '\\')))
if (!myself->progname[0])
p = "unknown";
else if ((p = strrchr (myself->progname, '\\')))
p++;
else
p = myself->progname;