Added a signal handler for SIGPIPE.

We've seen some unexpected SIGPIPE signals in cryptohomed and we want to
be able to find out where they are coming from.  This handler will
abort and print the IP if on x64.

BUG=chromium:367278
TEST=manual, on link

Change-Id: I88a253c1117bee448e759678b16f5e69afe3c4e2
Reviewed-on: https://chromium-review.googlesource.com/201417
Reviewed-by: Darren Krahn <dkrahn@chromium.org>
Commit-Queue: Darren Krahn <dkrahn@chromium.org>
Tested-by: Darren Krahn <dkrahn@chromium.org>
1 file changed
tree: 63c0fc62c97469d13013742b7aacc09d19bfd1ab
  1. LICENSE
  2. Makefile
  3. OWNERS
  4. README
  5. README.dbus
  6. README.homedirs
  7. README.lockbox
  8. README.tpm
  9. WATCHLISTS
  10. attestation.cc
  11. attestation.h
  12. attestation.proto
  13. attestation_task.cc
  14. attestation_task.h
  15. attestation_unittest.cc
  16. boot_lockbox.cc
  17. boot_lockbox.h
  18. boot_lockbox_key.proto
  19. boot_lockbox_unittest.cc
  20. chaps_client_factory.cc
  21. chaps_client_factory.h
  22. common.mk
  23. credentials.h
  24. crypto.cc
  25. crypto.h
  26. crypto_unittest.cc
  27. cryptohome-path.cc
  28. cryptohome.cc
  29. cryptohome.xml
  30. cryptohome_common.h
  31. cryptohome_event_source.cc
  32. cryptohome_event_source.h
  33. cryptohome_event_source_unittest.cc
  34. cryptohome_testrunner.cc
  35. cryptohomed.cc
  36. cryptolib.cc
  37. cryptolib.h
  38. dbus_transition.cc
  39. dbus_transition.h
  40. email_to_image
  41. etc/
  42. homedirs.cc
  43. homedirs.h
  44. homedirs_unittest.cc
  45. inherit-review-settings-ok
  46. init/
  47. install_attributes.cc
  48. install_attributes.h
  49. install_attributes.proto
  50. install_attributes_unittest.cc
  51. interface.cc
  52. interface.h
  53. keystore.h
  54. lockbox-cache-main.cc
  55. lockbox-cache-tpm.cc
  56. lockbox-cache-tpm.h
  57. lockbox-cache.cc
  58. lockbox-cache.h
  59. lockbox.cc
  60. lockbox.h
  61. lockbox_unittest.cc
  62. make_tests.cc
  63. make_tests.h
  64. make_tests.sh
  65. marshal.list
  66. mock_attestation.h
  67. mock_boot_lockbox.h
  68. mock_chaps_client_factory.cc
  69. mock_chaps_client_factory.h
  70. mock_crypto.h
  71. mock_dbus_transition.h
  72. mock_homedirs.cc
  73. mock_homedirs.h
  74. mock_install_attributes.cc
  75. mock_install_attributes.h
  76. mock_keystore.cc
  77. mock_keystore.h
  78. mock_lockbox.cc
  79. mock_lockbox.h
  80. mock_mount.cc
  81. mock_mount.h
  82. mock_mount_factory.h
  83. mock_pkcs11_init.cc
  84. mock_pkcs11_init.h
  85. mock_platform.cc
  86. mock_platform.h
  87. mock_service.cc
  88. mock_service.h
  89. mock_tpm.cc
  90. mock_tpm.h
  91. mock_tpm_init.cc
  92. mock_tpm_init.h
  93. mock_user_oldest_activity_timestamp_cache.cc
  94. mock_user_oldest_activity_timestamp_cache.h
  95. mock_user_session.cc
  96. mock_user_session.h
  97. mock_vault_keyset.cc
  98. mock_vault_keyset.h
  99. mock_vault_keyset_factory.h
  100. mount-encrypted.c
  101. mount-encrypted.h
  102. mount-helpers.c
  103. mount-helpers.h
  104. mount.cc
  105. mount.h
  106. mount_factory.cc
  107. mount_factory.h
  108. mount_stack.cc
  109. mount_stack.h
  110. mount_stack_unittest.cc
  111. mount_task.cc
  112. mount_task.h
  113. mount_task_unittest.cc
  114. mount_unittest.cc
  115. pam_mount.conf.xml
  116. pkcs11_init.cc
  117. pkcs11_init.h
  118. pkcs11_keystore.cc
  119. pkcs11_keystore.h
  120. pkcs11_keystore_unittest.cc
  121. platform.cc
  122. platform.h
  123. service.cc
  124. service.h
  125. service_unittest.cc
  126. stateful_recovery.cc
  127. stateful_recovery.h
  128. stateful_recovery_unittest.cc
  129. stub_tpm.h
  130. tpm.cc
  131. tpm.h
  132. tpm_init.cc
  133. tpm_init.h
  134. tpm_status.proto
  135. user_oldest_activity_timestamp_cache.cc
  136. user_oldest_activity_timestamp_cache.h
  137. user_oldest_activity_timestamp_cache_unittest.cc
  138. user_session.cc
  139. user_session.h
  140. user_session_unittest.cc
  141. username_passkey.cc
  142. username_passkey.h
  143. username_passkey_unittest.cc
  144. vault_keyset.cc
  145. vault_keyset.h
  146. vault_keyset.proto
  147. vault_keyset_factory.cc
  148. vault_keyset_factory.h
  149. vault_keyset_unittest.cc