comparison src/emacs.c @ 58818:f8cddae7d959

* gtkutil.c: Include signal.h and syssignal.h. (xg_get_file_name): Block and unblock __SIGRTMIN if defined. * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h, new variables main_thread and alloc_mutex, define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread. If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as (UN)BLOCK_INPUT. (emacs_blocked_free, emacs_blocked_malloc) (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC. (uninterrupt_malloc): Initialize main_thread and alloc_mutex. (reset_malloc_hooks): New function. * lisp.h: Declare reset_malloc_hooks. * emacs.c (Fdump_emacs): Call reset_malloc_hooks. * keyboard.c: Conditionally include pthread.h (handle_async_inpu, input_available_signalt): If not in the main thread, block signal, send signal to main thread and return.
author Jan Djärv <jan.h.d@swipnet.se>
date Tue, 07 Dec 2004 08:25:43 +0000
parents c0b9a69b829b
children 9f7c2511d457 549734260e34
comparison
equal deleted inserted replaced
58817:65f1b18b7f66 58818:f8cddae7d959
2236 /* On Windows, this was done before dumping, and that once suffices. 2236 /* On Windows, this was done before dumping, and that once suffices.
2237 Meanwhile, my_edata is not valid on Windows. */ 2237 Meanwhile, my_edata is not valid on Windows. */
2238 memory_warnings (my_edata, malloc_warning); 2238 memory_warnings (my_edata, malloc_warning);
2239 #endif /* not WINDOWSNT */ 2239 #endif /* not WINDOWSNT */
2240 #endif 2240 #endif
2241 #ifdef HAVE_GTK_AND_PTHREAD
2242 /* Pthread may call malloc before main, and then we will get an endless
2243 loop, because pthread_self (see alloc.c) calls malloc the first time
2244 it is called on some systems. */
2245 reset_malloc_hooks ();
2246 #endif
2241 #ifdef DOUG_LEA_MALLOC 2247 #ifdef DOUG_LEA_MALLOC
2242 malloc_state_ptr = malloc_get_state (); 2248 malloc_state_ptr = malloc_get_state ();
2243 #endif 2249 #endif
2244 2250
2245 #ifdef USE_MMAP_FOR_BUFFERS 2251 #ifdef USE_MMAP_FOR_BUFFERS