]> granicus.if.org Git - php/commitdiff
Send a SIGSEGV instead of exiting, to trigger a core dump
authorZeev Suraski <zeev@php.net>
Fri, 9 Jul 1999 11:10:19 +0000 (11:10 +0000)
committerZeev Suraski <zeev@php.net>
Fri, 9 Jul 1999 11:10:19 +0000 (11:10 +0000)
Zend/zend_alloc.c

index 740b424f9565c156c4898e36291cb81faa89a766..b6fcbfc6bac12fdabf427d6edd81a0c64de29f17 100644 (file)
@@ -116,7 +116,11 @@ ZEND_API void *_emalloc(size_t size)
 
        if (!p) {
                fprintf(stderr,"FATAL:  emalloc():  Unable to allocate %ld bytes\n", (long) size);
+#if !(WIN32||WINNT) && ZEND_DEBUG
+               kill(getpid(), SIGSEGV);
+#else
                exit(1);
+#endif
                HANDLE_UNBLOCK_INTERRUPTIONS();
                return (void *)p;
        }
@@ -222,7 +226,11 @@ ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure)
        if (!p) {
                if (!allow_failure) {
                        fprintf(stderr,"FATAL:  erealloc():  Unable to allocate %ld bytes\n", (long) size);
+#if !(WIN32||WINNT) && ZEND_DEBUG
+                       kill(getpid(), SIGSEGV);
+#else
                        exit(1);
+#endif
                }
                ADD_POINTER_TO_LIST(orig);
                HANDLE_UNBLOCK_INTERRUPTIONS();