diff options
| author | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-04-12 19:41:56 +0000 |
|---|---|---|
| committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-04-12 19:41:56 +0000 |
| commit | ef6d103984bda3f14f3367382a9f1f08ce186230 (patch) | |
| tree | 7b8a2204c09fdd31eab73ef8c14154bc596e472c /src/gmalloc.c | |
| parent | eff277312d77fb36dda8bb744d32ef380bddd002 (diff) | |
| download | emacs-ef6d103984bda3f14f3367382a9f1f08ce186230.tar.gz | |
(__default_morecore): Use bss_sbrk(), not __sbrk(), before Cygwin unexec.
Diffstat (limited to 'src/gmalloc.c')
| -rw-r--r-- | src/gmalloc.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gmalloc.c b/src/gmalloc.c index 99fa36d073a..eae83a74eb6 100644 --- a/src/gmalloc.c +++ b/src/gmalloc.c @@ -352,6 +352,10 @@ Cambridge, MA 02139, USA. #include <errno.h> /* How to really get more memory. */ +#if defined(CYGWIN) +extern __ptr_t bss_sbrk PP ((ptrdiff_t __size)); +extern int bss_sbrk_did_unexec; +#endif __ptr_t (*__morecore) PP ((ptrdiff_t __size)) = __default_morecore; /* Debugging hook for `malloc'. */ @@ -1572,7 +1576,14 @@ __ptr_t __default_morecore (increment) __malloc_ptrdiff_t increment; { - __ptr_t result = (__ptr_t) __sbrk (increment); + __ptr_t result; +#if defined(CYGWIN) + if (!bss_sbrk_did_unexec) + { + return bss_sbrk (increment); + } +#endif + result = (__ptr_t) __sbrk (increment); if (result == (__ptr_t) -1) return NULL; return result; |
