* 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> Thu Sep 6 01:16:44 2001 Christopher Faylor <cgf@cygnus.com>
Move appropriate variables to NO_COPY segment, throughout. 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) for (_cmalloc_entry *rvc = cygheap->chain; rvc; rvc = rvc->prev)
{ {
cygheap_entry *ce = (cygheap_entry *) rvc->data; 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; continue;
else if (ce->type < HEAP_1_MAX) else if (ce->type < HEAP_1_MAX)
ce->type += HEAP_1_MAX; /* Mark for freeing after next exec */ ce->type += HEAP_1_MAX; /* Mark for freeing after next exec */

View File

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