Author: markj
Date: Wed Aug 14 02:36:21 2013
New Revision: 254313
URL: http://svnweb.freebsd.org/changeset/base/254313

Log:
  MFC r253850:
  Properly print arguments to vfork(2) and rfork(2).

Modified:
  stable/9/usr.bin/truss/syscall.h
  stable/9/usr.bin/truss/syscalls.c
Directory Properties:
  stable/9/usr.bin/truss/   (props changed)

Modified: stable/9/usr.bin/truss/syscall.h
==============================================================================
--- stable/9/usr.bin/truss/syscall.h    Wed Aug 14 02:00:37 2013        
(r254312)
+++ stable/9/usr.bin/truss/syscall.h    Wed Aug 14 02:36:21 2013        
(r254313)
@@ -40,7 +40,7 @@ enum Argtype { None = 1, Hex, Octal, Int
        Fd_set, Sigaction, Fcntl, Mprot, Mmapflags, Whence, Readlinkres,
        Umtx, Sigset, Sigprocmask, Kevent, Sockdomain, Socktype, Open,
        Fcntlflag, Rusage, BinString, Shutdown, Resource, Rlimit, Timeval2,
-       Pathconf };
+       Pathconf, Rforkflags };
 
 #define        ARG_MASK        0xff
 #define        OUT     0x100

Modified: stable/9/usr.bin/truss/syscalls.c
==============================================================================
--- stable/9/usr.bin/truss/syscalls.c   Wed Aug 14 02:00:37 2013        
(r254312)
+++ stable/9/usr.bin/truss/syscalls.c   Wed Aug 14 02:36:21 2013        
(r254313)
@@ -93,6 +93,9 @@ struct syscall syscalls[] = {
        { .name = "fcntl", .ret_type = 1, .nargs = 3,
          .args = { { Int, 0 } , { Fcntl, 1 }, { Fcntlflag | OUT, 2 } } },
        { .name = "fork", .ret_type = 1, .nargs = 0 },
+       { .name = "vfork", .ret_type = 1, .nargs = 0 },
+       { .name = "rfork", .ret_type = 1, .nargs = 1,
+         .args = { { Rforkflags, 0 } } },
        { .name = "getegid", .ret_type = 1, .nargs = 0 },
        { .name = "geteuid", .ret_type = 1, .nargs = 0 },
        { .name = "getgid", .ret_type = 1, .nargs = 0 },
@@ -369,6 +372,11 @@ static struct xlat pathconf_arg[] = {
        XEND
 };
 
+static struct xlat rfork_flags[] = {
+       X(RFPROC) X(RFNOWAIT) X(RFFDG) X(RFCFDG) X(RFTHREAD) X(RFMEM)
+       X(RFSIGSHARE) X(RFTSIGZMB) X(RFLINUXTHPN) XEND
+};
+
 #undef X
 #undef XEND
 
@@ -906,6 +914,9 @@ print_arg(struct syscall_args *sc, unsig
        case Pathconf:
                tmp = strdup(xlookup(pathconf_arg, args[sc->offset]));
                break;
+       case Rforkflags:
+               tmp = strdup(xlookup_bits(rfork_flags, args[sc->offset]));
+               break;
        case Sockaddr: {
                struct sockaddr_storage ss;
                char addr[64];
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to