From 86e74c970bb29c0a31d0235cf6b9ab261fffbad5 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Tue, 3 Jun 2008 03:04:41 +0000 Subject: Add code to save DA to a file if NetSurf crashes and NetSurf$CoreDump exists. svn path=/trunk/netsurf/; revision=4247 --- riscos/gui.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/riscos/gui.c b/riscos/gui.c index 6e9aa28e6..018cd0d93 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -848,6 +848,25 @@ void ro_gui_signal(int sig) __write_backtrace(sig); + /* save DA to a file if NetSurf$CoreDump exists */ + int used; + xos_read_var_val_size("NetSurf$CoreDump", 0, 0, &used, 0, 0); + if (used) { + extern int __dynamic_num; + if (__dynamic_num != -1) { + int size; + byte *base_address; + xosdynamicarea_read(__dynamic_num, &size, + &base_address, 0, 0, 0, 0, 0); + LOG(("saving DA %i %p %x\n", __dynamic_num, + base_address, size)); + xosfile_save("$.netsurf_core", + (bits) base_address, 0, + base_address, + base_address + size); + } + } + abort(); } /* If we reach here, previous handler was either SIG_IGN or -- cgit v1.2.3