Module TaskJuggler::ProcessIntercomIface
In: lib/taskjuggler/daemon/ProcessIntercom.rb

Methods

connect   disconnect   terminate   trap  

Public Instance methods

[Source]

# File lib/taskjuggler/daemon/ProcessIntercom.rb, line 41
    def connect(authKey, stdout, stderr, stdin, silent)
      return false unless @server.checkKey(authKey, 'connect')

      trap { @server.connect(stdout, stderr, stdin, silent) }
    end

[Source]

# File lib/taskjuggler/daemon/ProcessIntercom.rb, line 47
    def disconnect(authKey)
      return false unless @server.checkKey(authKey, 'disconnect')

      trap { @server.disconnect }
    end

[Source]

# File lib/taskjuggler/daemon/ProcessIntercom.rb, line 35
    def terminate(authKey)
      return false unless @server.checkKey(authKey, 'terminate')

      trap { @server.terminate }
    end

This function catches all unhandled exceptions in the passed block.

[Source]

# File lib/taskjuggler/daemon/ProcessIntercom.rb, line 22
    def trap
      log = LogFile.instance

      begin
        yield
      rescue
        $stderr.print $!.to_s
        $stderr.print $!.backtrace.join("\n")
        log.debug($!.backtrace.join("\n"))
        log.fatal("Unexpected exception: #{$!}")
      end
    end

[Validate]