diff options
-rw-r--r-- | src/emacs.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/emacs.c b/src/emacs.c index 7e6ac1413fc..05b044f57cf 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1095,6 +1095,24 @@ the Bugs section of the Emacs manual or the file BUGS.\n", argv[0]); #endif } + /* Gerd Moellmann <gerd@acm.org> says this makes profiling work on + FreeBSD. It might work on some other systems too. + Give it a try and tell me if it works on your system. */ +#ifdef __FreeBSD__ +#ifdef PROFILING + if (initialized) + { + extern void _mcleanup (); + extern char etext; + extern void clear_glyph_matrix (); + atexit (_mcleanup); + monstartup (clear_glyph_matrix, &etext); + } + else + moncontrol (0); +#endif +#endif + initialized = 1; #ifdef LOCALTIME_CACHE |