summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/crash.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove stuffNicholas Feinberg2014-07-291-1/+3
| | | | | | | .cc, moving its contents into the new stepdown.cc and strings.cc. (The latter also got many donations from libutil.h.) Down with stuff! Up the new flesh!
* Change WebTiles crash handling to work by parsing stderr.Pekka Lampila2014-03-021-4/+4
|
* Do tiles.shutdown() earlier when handling a crash.Pekka Lampila2014-03-021-4/+4
| | | | | Trying to avoid socket being left open, while still sending assert message and crash log file name to the WebTiles server.
* Include assert message and crash log in WebTiles exit dialog.Pekka Lampila2014-02-051-5/+4
|
* Display a dialog on WebTiles after the game ends.Pekka Lampila2014-02-051-0/+1
| | | | | For players this is displayed in a case of a crash/error/unexpected end. For watchers the dialog is displayed regardless of how the game ended.
* call_gdb(): Fix last commit for older GDB -- oopsSamuel Bronson2013-12-021-4/+4
|
* call_gdb(): Do "show version" before anything elseSamuel Bronson2013-12-021-0/+1
| | | | This is helpful when trying to diagnose problems with the GDB output.
* call_gdb(): put flags and their args on the same lineSamuel Bronson2013-12-021-4/+2
|
* Fix cmdline --gdb not working outside of --test and friends.Adam Borowski2013-11-201-2/+2
| | | | | It can't be stored in the options struct, as it's re-initialized when a game starts, overwriting whatever came from the command line.
* Spam about the reason GDB is disabled.Adam Borowski2013-11-171-0/+3
|
* Clear some buffers prominent in crash tracesSamuel Bronson2013-11-021-1/+1
| | | | This lets GDB avoid having to print out all that extraneous garbage.
* Don't tell GDB where the executable is, it knows how to find it ...Samuel Bronson2013-11-021-8/+0
|
* Lengthen the crash timeout to work on my PII, even calling GDBSamuel Bronson2013-11-021-1/+1
|
* ... and flush when you're done with the dump.Adam Borowski2013-11-031-0/+1
|
* Print gdb error messages to the correct descriptor.Adam Borowski2013-11-031-1/+1
| | | | | At that point, the crash dump is dup2()ed to stdout+stderr and the original closed.
* Be more brutal while suiciding when sad about the lack of gdb.Adam Borowski2013-11-021-1/+1
| | | | | | Since it's a crash, unwinding might fail, and there's another copy of our process doing the same already. Heck, we could go for the nuclear option and raise(9).
* Don't allow the crash handler go twice if ther's no gdb.Adam Borowski2013-11-021-1/+2
|
* Attach and run gdb during crashes.Adam Borowski2013-11-021-0/+53
| | | | | | Its usefulness varies depending on existence of debug info, although in every case I got at least one more symbol resolved than without it. Only unstripped builds are fun, of course.
* Do something with a brown paper bag.Adam Borowski2013-10-141-1/+1
| | | | You don't see this commit...
* Drop a leading underscore.Adam Borowski2013-10-141-2/+2
|
* Make _crash_signal_handler() non-static to elucidate stack tracesSamuel Bronson2013-10-131-1/+4
| | | | Not a big deal, but I found it stashed from ages ago and why not ...
* Unbreak Windows.Adam Borowski2013-10-031-0/+7
| | | | | | | | | | The watchdog will now use real time, and kill the game after 60 seconds, but since DGL doesn't work on Windows anyway, this is not a problem. If it is, just make the watchdog no-op. Windows users are not going to run mapstat headless. (And the infinite loop, while rare, is still definitely still here.)
* Don't waste electricity for mapstat infinite loops.Adam Borowski2013-10-031-3/+1
| | | | A hard limit of 60 seconds of CPU time per level.
* Fix spelling (elliott)Neil Moore2013-06-261-1/+1
|
* Only reference crash_mutex when USE_UNIX_SIGNALS is defined (xFleury)Pete Hurst2013-05-191-2/+3
| | | | crash_mutex only *exists* when USE_UNIX_SIGNALS is defined.
* Update doc comment in crash.cc.Samuel Bronson2013-04-201-1/+1
|
* Formatting fixes.Adam Borowski2013-02-031-2/+2
|
* Include a header.Neil Moore2012-09-191-0/+1
| | | | | | Technically alarm() needs unistd.h; and apparently this is more than a technicality on some systems: https://crawl.develz.org/tavern/viewtopic.php?f=9&t=5791
* Unbreak backtraces on non-Android ARM.Adam Borowski2012-09-141-1/+1
| | | | | | Also, I doubt this works differently on Android on other CPUs, and it obviously hasn't been ever tested (the build script has ARM hard-coded in a number of places).
* Android port.frogbotherer2012-09-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2 files are added to the root of the repository: * AndroidAppSettings.cfg: settings file required for Android SDL port. Will change on each minor release to reset configuration. * AndroidBuild.sh: script called by the Android SDL port to commence building the game itself It might be nice to be able to move them elsewhere, but for now, their presence here is required. The build process is documented in docs/develop/android.txt There's a TOUCH_UI compiler flag which sets all the things specific to a touch screen interface. There has been a large amount of changes in the Makefile for redefining where the dat/, saves/, etc. directories go, because the "install" part of the make isn't the final destination for these files under Android - the environment we deploy to is a separate device from the build environment. There is also a number of changes to the tiles interface. Some are specific to the TOUCH_UI, but others are also changed in USE_TILE_LOCAL. Touch only: * 'a'bilities menu goes straight to menu without prompting first * tap menu header to toggle/submit * menu instead of prompt to select which corpse to butcher * same for eating food from the floor (those 2 could go in local tiles too) * show_more defaults to false and less --more-- messages * pickup mode defaults to menu * defaults for tile_layout_priority is different (commands are more important than inventory) * popup for yes/no prompts, level-up stat gain and swapping rings (should be used for all prompts, and probably local tiles too) * spell casting: force selection menu * map mode: left-click rather than right-click for mouse mode; autotravel on left-click removed * remove skills training and memorisation panels Also local tiles (some could also be integrated in webtiles): * commands below description are clickable * clickable shopping menu (uses PrecisionMenu) * split the command panel in 2 (common actions and system commands) * add a map command panel * tapping or left-clicking the player is smarter: * picks up the item if there's one on the tile, otherwise * shows pick-up menu if there's several items on the tile, otherwise * traverses stairs (or enters a portal or shop) if one is present, otherwise * prays if an altar is present, otherwise * waits one turn * right-clicking the map enters map mode and brings the map commands tab to the front; map mode stays until exited rather than upon release of mouse Some more details can be found in android_patch_notes.txt on #5677 (although some TODOs are already obsolete). Signed-off-by: Raphael Langella <raphael.langella@gmail.com>
* Use std namespace.Raphael Langella2012-08-261-4/+4
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Clean up the webtiles socket when crashing.Florian Diebold2012-08-151-0/+4
|
* Remove the now-unused code for emergency saves.Adam Borowski2012-04-141-6/+0
| | | | | If we want them back for assertions, it'd be far better to save _before_ going into the crash handler.
* Merge away an one-function-wonder header file.Adam Borowski2012-03-101-1/+0
| | | | It had no corresponding .cc, too.
* In DGL, give games stuck for 60s CPU time the finger (the Nethack level 7 one).Adam Borowski2012-03-051-0/+37
| | | | | | There's a new crop of infinite loop bugs, they're hard to debug in DGL due to permissions (only Napkin can attach gdb) so backtraces would be nice, and taking 100% CPU on a public server is very detrimental to players.
* Actually call our alarm() on Windows.Adam Borowski2012-01-141-2/+2
| | | | There's an implementation of it, yet the call itself was #ifdefed out.
* Point out that the mutex usage in _crash_signal_handler() could cause UB.Samuel Bronson2012-01-141-2/+7
|
* Threading support.Adam Borowski2011-12-271-1/+21
| | | | | | | | | Since Windows doesn't support pthreads without an external library, I used a mess of #defines. Also, some of the #defines are not needed; I copied them from an earlier project. Detached threads and cond variables are not used at the moment, if you feel bad about dormant code we can axe them.
* Remove crash-d.cc and crash-w.cc, the stubs always were in crash-u.ccAdam Borowski2011-12-271-0/+318