rp_invoke_proc (private)

 rp_invoke_proc argv

Defined in packages/acs-tcl/tcl/request-processor-procs.tcl

Invokes a registered procedure.

Parameters:
argv (required)

Partial Call Graph (max 5 caller/called nodes):
%3 ad_try ad_try (public) ds_add ds_add (public) rp_debug rp_debug (private) rp_finish_serving_page rp_finish_serving_page (private) rp_report_error rp_report_error (private) rp_invoke_proc rp_invoke_proc rp_invoke_proc->ad_try rp_invoke_proc->ds_add rp_invoke_proc->rp_debug rp_invoke_proc->rp_finish_serving_page rp_invoke_proc->rp_report_error

Testcases:
No testcase defined.
Source code:
    set startclicks [clock clicks -microseconds]

    lassign $argv proc_index debug_p arg_count proc arg

    rp_debug -debug $debug_p "Invoking registered procedure $proc"

    switch -- $arg_count {
        0 { set cmd $proc }
        1 { set cmd [list $proc {*}$arg] }
        default { set cmd [list $proc {*}$arg] }
    }

    ad_try -auto_abort=false {
        {*}$cmd
    } trap {AD EXCEPTION ad_script_abort} {r} {
        # do nothing on ad_script_aborts
        ns_log notice "rp_invoke_proc: aborted cmd: $cmd"
        ds_add rp [list registered_proc $cmd $startclicks [clock clicks -microseconds]]
    } on error {errMsg} {
        ds_add rp [list registered_proc $cmd $startclicks [clock clicks -microseconds] error $::errorInfo]
        rp_debug "error in $proc for [ns_conn method] [ns_conn url]?[ns_conn query] errorInfo is $::errorInfo"
        ns_log Error "rp_invoke_proc: '$cmd' returned error: $errMsg\n$::errorInfo"
        rp_report_error
    } on ok {r} {
        ds_add rp [list registered_proc $cmd $startclicks [clock clicks -microseconds]]
    } finally {
        rp_debug -debug $debug_p "Done Invoking registered procedure $proc"
    }

    rp_finish_serving_page
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: