servlib/bundling/BundleDaemon.cc
changeset 13 841ab1482c9c
parent 12 7463e4bb80e4
child 14 06512deddac4
equal deleted inserted replaced
12:7463e4bb80e4 13:841ab1482c9c
  2856     idle_exit_ = new DaemonIdleExit(interval);
  2856     idle_exit_ = new DaemonIdleExit(interval);
  2857 }
  2857 }
  2858 
  2858 
  2859 //----------------------------------------------------------------------
  2859 //----------------------------------------------------------------------
  2860 void
  2860 void
       
  2861 handle_sigsegv(int sig)
       
  2862 {
       
  2863     void *array[10];
       
  2864     size_t size;
       
  2865 
       
  2866     // get void*'s for all entries on the stack
       
  2867     size = backtrace(array, 10);
       
  2868 
       
  2869     // print out all the frames to stderr
       
  2870     fprintf(stderr, "Error: signal %d:\n", sig);
       
  2871     backtrace_symbols_fd(array, size, 2);
       
  2872     exit(1);
       
  2873 }
       
  2874 
       
  2875 //----------------------------------------------------------------------
       
  2876 void
  2861 BundleDaemon::run()
  2877 BundleDaemon::run()
  2862 {
  2878 {
  2863     static const char* LOOP_LOG = "/dtn/bundle/daemon/loop";
  2879     static const char* LOOP_LOG = "/dtn/bundle/daemon/loop";
  2864     
  2880     
  2865     if (! BundleTimestamp::check_local_clock()) {
  2881     if (! BundleTimestamp::check_local_clock()) {