From 270f675b6f64df5cca73de2ae097a12fd56c59b9 Mon Sep 17 00:00:00 2001 From: Chas Williams Date: Fri, 14 Jan 2005 17:31:31 +0000 Subject: [PATCH] fstrace-linux-proc-20050113 FIXES 17240 support /proc interface --- src/venus/fstrace.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/venus/fstrace.c b/src/venus/fstrace.c index 4af380100..4d95081b7 100644 --- a/src/venus/fstrace.c +++ b/src/venus/fstrace.c @@ -2115,7 +2115,7 @@ icl_TailKernel(outFilep, logname, waitTime) afs_syscall(call, parm0, parm1, parm2, parm3, parm4, parm5, parm6) long call, parm0, parm1, parm2, parm3, parm4, parm5, parm6; { - int code; + int code, rval; #ifdef AFS_LINUX20_ENV #if defined AFS_LINUX_64BIT_KERNEL long long eparm[4]; @@ -2133,9 +2133,13 @@ afs_syscall(call, parm0, parm1, parm2, parm3, parm4, parm5, parm6) #endif /* Linux can only handle 5 arguments in the actual syscall. */ if (call == AFSCALL_ICL) { - code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm); + rval = proc_afs_syscall(call, parm0, parm1, parm2, eparm, &code); + if (rval) + code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm); } else { - code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3); + rval = proc_afs_syscall(call, parm0, parm1, parm2, parm3, &code); + if (rval) + code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3); } #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV) /* on sparc this function returns none value, so do it myself */ -- 2.39.5