summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorws <ws@NetBSD.org>1994-02-14 19:07:27 +0000
committerws <ws@NetBSD.org>1994-02-14 19:07:27 +0000
commit4eab6179ba6985b8a820c8243d0da2e30d213d80 (patch)
treeb143749315588c12a795f9190110a9bc289bcb1a /sys
parentbb5d305ea8993af02974ce4f604a00ec43c2911b (diff)
Don't try to show a file for a process if there is none
Diffstat (limited to 'sys')
-rw-r--r--sys/miscfs/procfs/procfs_vnops.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c
index 665a2313c96..05a0c94c11d 100644
--- a/sys/miscfs/procfs/procfs_vnops.c
+++ b/sys/miscfs/procfs/procfs_vnops.c
@@ -37,7 +37,7 @@
* From:
* Id: procfs_vnops.c,v 4.2 1994/01/02 15:28:44 jsp Exp
*
- * $Id: procfs_vnops.c,v 1.14 1994/01/28 07:03:41 cgd Exp $
+ * $Id: procfs_vnops.c,v 1.15 1994/02/14 19:07:27 ws Exp $
*/
/*
@@ -684,6 +684,14 @@ procfs_readdir(vp, uio, cred, eofflagp, cookies, ncookies)
if (dt->d_pfstype == Proot)
pid = 0;
dp->d_fileno = PROCFS_FILENO(pid, dt->d_pfstype);
+
+ if (dt->d_pfstype == Pfile) {
+ struct proc *procp = PFIND(pid);
+
+ if (!procp || !procfs_findtextvp(procp))
+ dp->d_fileno = 0;
+ }
+
dp->d_namlen = dt->d_namlen;
bcopy(dt->d_name, dp->d_name, sizeof(dt->d_name)-1);
error = uiomove((caddr_t) dp, UIO_MX, uio);