diff options
author | John Tytgat <joty@netsurf-browser.org> | 2009-01-31 13:50:17 +0000 |
---|---|---|
committer | John Tytgat <joty@netsurf-browser.org> | 2009-01-31 13:50:17 +0000 |
commit | 35cd7ecbad4926fc3d59fc949ad8232549f63168 (patch) | |
tree | c003c6e14eb280790dba4bc5f12833005137938f /riscos/gui.c | |
parent | 414f42faac3f69ab079c11c782cc8fb2da0e888a (diff) | |
download | netsurf-35cd7ecbad4926fc3d59fc949ad8232549f63168.tar.gz netsurf-35cd7ecbad4926fc3d59fc949ad8232549f63168.tar.bz2 |
When UnixLib 5 is used, use its API to do the coredumping. Define UnixEnv$coredump (value needs to be a directory to where the coredump files can be written too) instead of NetSurf$CoreDump to
enable this.
svn path=/trunk/netsurf/; revision=6321
Diffstat (limited to 'riscos/gui.c')
-rw-r--r-- | riscos/gui.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/riscos/gui.c b/riscos/gui.c index 348db5d0e..cea055bf0 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -4,7 +4,7 @@ * Copyright 2003 John M Bell <jmb202@ecs.soton.ac.uk> * Copyright 2005 Richard Wilson <info@tinct.net> * Copyright 2004 Andrew Timmins <atimmins@blueyonder.co.uk> - * Copyright 2004-2008 John Tytgat <joty@netsurf-browser.org> + * Copyright 2004-2009 John Tytgat <joty@netsurf-browser.org> * * This file is part of NetSurf, http://www.netsurf-browser.org/ * @@ -154,7 +154,9 @@ int __feature_imagefs_is_file = 1; /**< For UnixLib. */ /* default filename handling */ int __riscosify_control = __RISCOSIFY_NO_SUFFIX | __RISCOSIFY_NO_REVERSE_SUFFIX; +#ifndef __ELF__ extern int __dynamic_num; +#endif const char * NETSURF_DIR; @@ -865,6 +867,7 @@ void ro_gui_signal(int sig) options_dump(); /*rufl_dump_state();*/ +#ifndef __ELF__ /* save WimpSlot and DA to files if NetSurf$CoreDump exists */ int used; xos_read_var_val_size("NetSurf$CoreDump", 0, 0, &used, 0, 0); @@ -890,6 +893,13 @@ void ro_gui_signal(int sig) base_address + size); } } +#else + /* Save WimpSlot and UnixLib managed DAs when UnixEnv$coredump + * defines a coredump directory. */ + _kernel_oserror *err = __unixlib_write_coredump (NULL); + if (err != NULL) + LOG(("Coredump failed: %s", err->errmess)); +#endif xhourglass_colours(old_sand, old_glass, 0, 0); xhourglass_off(); |