emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 2c8b09b06e7: Fix crash on Windows 9X


From: Po Lu
Subject: Re: master 2c8b09b06e7: Fix crash on Windows 9X
Date: Tue, 06 Dec 2022 20:51:58 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Po Lu <luangruo@yahoo.com>
>> Cc: emacs-devel@gnu.org
>> Date: Tue, 06 Dec 2022 12:56:46 +0800
>> 
>> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> 
>> >> --- a/src/emacs.c
>> >> +++ b/src/emacs.c
>> >> @@ -1924,6 +1924,12 @@ Using an Emacs configured with 
>> >> --with-x-toolkit=lucid does not have this problem
>> >>    Vcoding_system_hash_table.  */
>> >>        syms_of_coding (); /* This should be after syms_of_fileio.  */
>> >>        init_frame_once ();       /* Before init_window_once.  */
>> >> +      /* init_window_once calls make_initial_frame, which calls
>> >> +  Fcurrent_time and bset_display_time, both of which allocate
>> >> +  bignums.  Without the following call to init_bignums, crashes
>> >> +  happen on Windows 9X after dumping when GC tries to free a
>> >> +  pointer allocated on the system heap.  */
>> >> +      init_bignum ();
>> >>        init_window_once ();       /* Init the window system.  */
>> >>  #ifdef HAVE_WINDOW_SYSTEM
>> >>        init_fringe_once ();       /* Swap bitmaps if necessary.  */
>> >
>> > I feel like I'm missing something: this adds a call to `init_bignum`
>> > whereas I expected the patch to *move* the call.
>> > Was this call simply missing?
>> >
>> >
>> >         Stefan
>> 
>> No.  The call I added is only called before dumping, while the second is
>> called after dumping, AFAIK.
>
> No, the second one is done both before and after dumping.  Only the first
> call is conditioned.

Ah, thanks for the clarification.  In any case, it must come before
init_window_once.  Does calling it twice hurt?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]