Avoid unnecessary failures of auto-saving after fatal error
* src/w32.c (map_w32_filename): Avoid non-trivial system calls for the benefit of FAT volumes if we are called as part of shutting down due to a fatal error, which probably means we are trying to auto-save the session. * src/lread.c (check_obarray): Don't bother making the obarray valid if we are shutting down due to a fatal error. This avoids interfering with auto-saving the crashed session.
This commit is contained in:
parent
eef6784ea4
commit
200675299e
2 changed files with 7 additions and 2 deletions
|
@ -3720,7 +3720,11 @@ static size_t oblookup_last_bucket_number;
|
||||||
Lisp_Object
|
Lisp_Object
|
||||||
check_obarray (Lisp_Object obarray)
|
check_obarray (Lisp_Object obarray)
|
||||||
{
|
{
|
||||||
if (!VECTORP (obarray) || ASIZE (obarray) == 0)
|
/* We don't want to signal a wrong-type-argument error when we are
|
||||||
|
shutting down due to a fatal error, and we don't want to hit
|
||||||
|
assertions in VECTORP and ASIZE if the fatal error was during GC. */
|
||||||
|
if (!fatal_error_in_progress
|
||||||
|
&& (!VECTORP (obarray) || ASIZE (obarray) == 0))
|
||||||
{
|
{
|
||||||
/* If Vobarray is now invalid, force it to be valid. */
|
/* If Vobarray is now invalid, force it to be valid. */
|
||||||
if (EQ (Vobarray, obarray)) Vobarray = initial_obarray;
|
if (EQ (Vobarray, obarray)) Vobarray = initial_obarray;
|
||||||
|
|
|
@ -3210,7 +3210,8 @@ map_w32_filename (const char * name, const char ** pPath)
|
||||||
return shortname;
|
return shortname;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_fat_volume (name, (const char **)&path)) /* truncate to 8.3 */
|
if (!fatal_error_in_progress /* disable fancy processing during crash */
|
||||||
|
&& is_fat_volume (name, (const char **)&path)) /* truncate to 8.3 */
|
||||||
{
|
{
|
||||||
register int left = 8; /* maximum number of chars in part */
|
register int left = 8; /* maximum number of chars in part */
|
||||||
register int extn = 0; /* extension added? */
|
register int extn = 0; /* extension added? */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue