summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_descrip.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-11-29 01:33:10 +0000
committerdyson <dyson@FreeBSD.org>1997-11-29 01:33:10 +0000
commit6781e003d564b1396bfc29a0570740018cadaddc (patch)
treecaf6592fe18c0525a352355d3506947c0d06107c /sys/kern/kern_descrip.c
parent81c1440f4f7b69e385d76c2447b4940fd6494e2e (diff)
downloadFreeBSD-src-6781e003d564b1396bfc29a0570740018cadaddc.zip
FreeBSD-src-6781e003d564b1396bfc29a0570740018cadaddc.tar.gz
Fix and complete the AIO syscalls. There are some performance enhancements
coming up soon, but the code is functional. Docs will be forthcoming.
Diffstat (limited to 'sys/kern/kern_descrip.c')
-rw-r--r--sys/kern/kern_descrip.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
index 9420480..9ce3e18 100644
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94
- * $Id: kern_descrip.c,v 1.44 1997/11/23 10:43:43 bde Exp $
+ * $Id: kern_descrip.c,v 1.45 1997/11/23 12:24:59 bde Exp $
*/
#include <sys/param.h>
@@ -744,6 +744,12 @@ fdcopy(p)
register struct file **fpp;
register int i;
+/*
+ * Certain daemons might not have file descriptors
+ */
+ if (fdp == NULL)
+ return NULL;
+
MALLOC(newfdp, struct filedesc *, sizeof(struct filedesc0),
M_FILEDESC, M_WAITOK);
bcopy(fdp, newfdp, sizeof(struct filedesc));
@@ -797,6 +803,12 @@ fdfree(p)
struct file **fpp;
register int i;
+/*
+ * Certain daemons might not have file descriptors
+ */
+ if (fdp == NULL)
+ return;
+
if (--fdp->fd_refcnt > 0)
return;
fpp = fdp->fd_ofiles;
@@ -823,6 +835,12 @@ fdcloseexec(p)
char *fdfp;
register int i;
+/*
+ * Certain daemons might not have file descriptors
+ */
+ if (fdp == NULL)
+ return;
+
fpp = fdp->fd_ofiles;
fdfp = fdp->fd_ofileflags;
for (i = 0; i <= fdp->fd_lastfile; i++, fpp++, fdfp++)
OpenPOWER on IntegriCloud