patches/uClibc/0.9.30.2/280-rpc-fix-typo-in-version-mismatch-msg.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 13 23:32:39 2011 +0100 (2011-12-13)
branch1.13
changeset 2847 c0bf2319af08
permissions -rw-r--r--
scripts: fix dumping execution backtrace

Dumping the backtrace has been broken since changeset #652e56d6d35a:
scripts: execute each steps in a subshell

We can spawn sub-sub-shells in some cases.

The way the fault handler works is to dump the backtrace, but to avoid
printing it once for every sub-shell (which could get quite confusing),
it simply exits when it detects that it is being run in a sub-shell,
leaving to the top-level shell the work to dump the backtrace.

Because each step is executed in its own sub-shell, the variable arrays
that contain the step name, the source file and line number, are lost
when exiting the per-step sub-shell.

Hence, the backtrace is currently limited to printing only the top-level
main procedure of the shell.

Fix this thus:
- when dumping the bckatraces for the steps & the functions, remember
it was dumped, and only dump it if it was not already dumped
- at the top-level shell, print the hints

Also, rename the top-level step label.

Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 4193d6e6a17430a177fa88c287879c2c35e319f3)
     1 From 83a09cd5c9ed9afd87a7d1d17319c2fd2203ad0f Mon Sep 17 00:00:00 2001
     2 From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
     3 Date: Thu, 21 Jan 2010 10:36:13 +0100
     4 Subject: [PATCH 04/15] rpc: fix typo in version mismatch msg
     5 
     6 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
     7 ---
     8  libc/inet/rpc/rpc_prot.c |    2 +-
     9  1 files changed, 1 insertions(+), 1 deletions(-)
    10 
    11 diff --git a/libc/inet/rpc/rpc_prot.c b/libc/inet/rpc/rpc_prot.c
    12 index 74658e6..229f988 100644
    13 --- a/libc/inet/rpc/rpc_prot.c
    14 +++ b/libc/inet/rpc/rpc_prot.c
    15 @@ -229,7 +229,7 @@ rejected (enum reject_stat rjct_stat,
    16  {
    17    switch (rjct_stat)
    18      {
    19 -    case RPC_VERSMISMATCH:
    20 +    case RPC_MISMATCH:
    21        error->re_status = RPC_VERSMISMATCH;
    22        return;
    23      case AUTH_ERROR:
    24 -- 
    25 1.6.6.1
    26