PageRenderTime 9ms CodeModel.GetById 4ms RepoModel.GetById 1ms app.codeStats 0ms

/thirdparty/breakpad/processor/process_state.cc

http://github.com/tomahawk-player/tomahawk
C++ | 64 lines | 25 code | 6 blank | 33 comment | 2 complexity | 6d5d5562aaa1e18fccbed65e2ab47db5 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, GPL-3.0, GPL-2.0
  1. // Copyright (c) 2006, Google Inc.
  2. // All rights reserved.
  3. //
  4. // Redistribution and use in source and binary forms, with or without
  5. // modification, are permitted provided that the following conditions are
  6. // met:
  7. //
  8. // * Redistributions of source code must retain the above copyright
  9. // notice, this list of conditions and the following disclaimer.
  10. // * Redistributions in binary form must reproduce the above
  11. // copyright notice, this list of conditions and the following disclaimer
  12. // in the documentation and/or other materials provided with the
  13. // distribution.
  14. // * Neither the name of Google Inc. nor the names of its
  15. // contributors may be used to endorse or promote products derived from
  16. // this software without specific prior written permission.
  17. //
  18. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  19. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  20. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  21. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  22. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  23. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  24. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  25. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  26. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  27. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  28. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  29. // process_state.cc: A snapshot of a process, in a fully-digested state.
  30. //
  31. // See process_state.h for documentation.
  32. //
  33. // Author: Mark Mentovai
  34. #include "google_breakpad/processor/process_state.h"
  35. #include "google_breakpad/processor/call_stack.h"
  36. #include "google_breakpad/processor/code_modules.h"
  37. namespace google_breakpad {
  38. ProcessState::~ProcessState() {
  39. Clear();
  40. }
  41. void ProcessState::Clear() {
  42. time_date_stamp_ = 0;
  43. crashed_ = false;
  44. crash_reason_.clear();
  45. crash_address_ = 0;
  46. assertion_.clear();
  47. requesting_thread_ = -1;
  48. for (vector<CallStack *>::const_iterator iterator = threads_.begin();
  49. iterator != threads_.end();
  50. ++iterator) {
  51. delete *iterator;
  52. }
  53. threads_.clear();
  54. system_info_.Clear();
  55. delete modules_;
  56. modules_ = NULL;
  57. }
  58. } // namespace google_breakpad