/usr/lib/tcltk/rivet2.3/rivet-tcl/catch.tcl is in libapache2-mod-rivet 2.3.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # -- catch.tcl
#
# Wrapper of the core [catch] command that checks whether
# an error condition is actually raised by [::rivet::abort_page]
# or [::rivet::exit]. In case the error is thrown again to allow
# the interpreter to interrupt and pass execution to AbortScript
#
# $Id: catch.tcl 1769855 2016-11-15 16:43:16Z mxmanghi $
#
namespace eval ::rivet {
proc catch {script args} {
set catch_ret [uplevel [list ::catch $script {*}$args]]
if {$catch_ret && [::rivet::abort_page -aborting]} {
return -code error -errorcode {RIVET ABORTPAGE} "Page abort"
} elseif {$catch_ret && [::rivet::abort_page -exiting]} {
return -code error -errorcode {RIVET THREAD_EXIT} "Thread exit"
} else {
return $catch_ret
}
}
}
|