Date: Mon, 17 Aug 2015 17:57:01 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r286849 - head/usr.bin/truss Message-ID: <201508171757.t7HHv1sA056212@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Mon Aug 17 17:57:01 2015 New Revision: 286849 URL: https://svnweb.freebsd.org/changeset/base/286849 Log: Decode the optional SOCK_NONBLOCK and SOCK_CLOEXEC flags passed in a socket type. Modified: head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Mon Aug 17 17:52:28 2015 (r286848) +++ head/usr.bin/truss/syscalls.c Mon Aug 17 17:57:01 2015 (r286849) @@ -1228,9 +1228,22 @@ print_arg(struct syscall_args *sc, unsig case Sockdomain: tmp = strdup(xlookup(sockdomain_arg, args[sc->offset])); break; - case Socktype: - tmp = strdup(xlookup(socktype_arg, args[sc->offset])); + case Socktype: { + FILE *fp; + size_t len; + int type, flags; + + flags = args[sc->offset] & (SOCK_CLOEXEC | SOCK_NONBLOCK); + type = args[sc->offset] & ~flags; + fp = open_memstream(&tmp, &len); + fputs(xlookup(socktype_arg, type), fp); + if (flags & SOCK_CLOEXEC) + fprintf(fp, "|SOCK_CLOEXEC"); + if (flags & SOCK_NONBLOCK) + fprintf(fp, "|SOCK_NONBLOCK"); + fclose(fp); break; + } case Shutdown: tmp = strdup(xlookup(shutdown_arg, args[sc->offset])); break;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508171757.t7HHv1sA056212>