* in 3.0-980524-SNAP then hacked a bit (but probably not enough :-).
*
* $FreeBSD: src/sys/dev/streams/streams.c,v 1.16.2.1 2001/02/26 04:23:07 jlemon Exp $
- * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.23 2006/05/06 02:43:08 dillon Exp $
+ * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.24 2006/05/06 06:38:35 dillon Exp $
*/
#include <sys/param.h>
if ((error = socreate(family, &so, type, protocol, td)) != 0) {
if (p->p_fd->fd_files[fd].fp == fp) {
funsetfd(p->p_fd, fd);
- fdrop(fp, td);
+ fdrop(fp);
}
- fdrop(fp, td);
+ fdrop(fp);
return error;
}
fp->f_ops = &svr4_netops;
fp->f_data = so;
(void)svr4_stream_get(fp);
- fdrop(fp, td);
+ fdrop(fp);
lp->lwp_dupfd = fd;
return ENXIO;
}
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.19.2.8 2001/11/07 20:33:55 marcel Exp $
- * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.21 2006/05/06 02:43:11 dillon Exp $
+ * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.22 2006/05/06 06:38:36 dillon Exp $
*/
#include <sys/param.h>
error = so->so_error;
so->so_emuldata = (void *)1;
}
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $FreeBSD: src/sys/svr4/svr4_stream.c,v 1.12.2.2 2000/11/26 04:42:27 dillon Exp $
- * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.16 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.17 2006/05/06 06:38:37 dillon Exp $
*/
/*
iov = mp->msg_iov;
for (i = 0; i < mp->msg_iovlen; i++, iov++) {
if ((auio.uio_resid += iov->iov_len) < 0) {
- fdrop(fp, td);
+ fdrop(fp);
return (EINVAL);
}
}
if (mp->msg_name) {
error = getsockaddr(&to, mp->msg_name, mp->msg_namelen);
if (error) {
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
} else {
}
#endif
bad:
- fdrop(fp, td);
+ fdrop(fp);
if (to)
FREE(to, M_SONAME);
return (error);
iov = mp->msg_iov;
for (i = 0; i < mp->msg_iovlen; i++, iov++) {
if ((auio.uio_resid += iov->iov_len) < 0) {
- fdrop(fp, td);
+ fdrop(fp);
return (EINVAL);
}
}
FREE(fromsa, M_SONAME);
if (control)
m_freem(control);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $FreeBSD: src/sys/kern/imgact_elf.c,v 1.73.2.13 2002/12/28 19:49:41 dillon Exp $
- * $DragonFly: src/sys/kern/imgact_elf.c,v 1.36 2006/05/05 21:15:08 dillon Exp $
+ * $DragonFly: src/sys/kern/imgact_elf.c,v 1.37 2006/05/06 06:38:38 dillon Exp $
*/
#include <sys/param.h>
fp->f_flag = 0;
fp->f_ops = &badfileops;
fp->f_data = NULL;
- fdrop(fp, p->p_thread);
+ fdrop(fp);
return (error);
}
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $DragonFly: src/sys/kern/kern_checkpoint.c,v 1.6 2005/10/27 03:15:47 sephe Exp $
+ * $DragonFly: src/sys/kern/kern_checkpoint.c,v 1.7 2006/05/06 06:38:38 dillon Exp $
*/
#include <sys/types.h>
else
error = ckpt_freeze_proc(p, fp);
if (fp)
- fdrop(fp, curthread);
+ fdrop(fp);
break;
case CKPT_THAW:
if (uap->pid != -1)
return EBADF;
uap->sysmsg_result = uap->retval;
error = ckpt_thaw_proc(p, fp);
- fdrop(fp, curthread);
+ fdrop(fp);
break;
default:
error = EOPNOTSUPP;
*
* @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94
* $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.19 2004/02/28 00:43:31 tegge Exp $
- * $DragonFly: src/sys/kern/kern_descrip.c,v 1.53 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_descrip.c,v 1.54 2006/05/06 06:38:38 dillon Exp $
*/
#include "opt_compat.h"
tmp = fp->f_flag & FNONBLOCK;
error = fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, cred);
if (error) {
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
tmp = fp->f_flag & FASYNC;
error = fo_ioctl(fp, FIOASYNC, (caddr_t)&tmp, cred);
if (!error) {
- fdrop(fp, td);
+ fdrop(fp);
return (0);
}
fp->f_flag &= ~FNONBLOCK;
tmp = 0;
fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, cred);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
case F_GETOWN:
fhold(fp);
error = fo_ioctl(fp, FIOGETOWN, (caddr_t)&dat->fc_owner, cred);
- fdrop(fp, td);
+ fdrop(fp);
return(error);
case F_SETOWN:
fhold(fp);
error = fo_ioctl(fp, FIOSETOWN, (caddr_t)&dat->fc_owner, cred);
- fdrop(fp, td);
+ fdrop(fp);
return(error);
case F_SETLKW:
(void) VOP_ADVLOCK(vp, (caddr_t)p->p_leader,
F_UNLCK, &dat->fc_flock, F_POSIX);
}
- fdrop(fp, td);
+ fdrop(fp);
return(error);
case F_GETLK:
if (dat->fc_flock.l_type != F_RDLCK &&
dat->fc_flock.l_type != F_WRLCK &&
dat->fc_flock.l_type != F_UNLCK) {
- fdrop(fp, td);
+ fdrop(fp);
return (EINVAL);
}
if (dat->fc_flock.l_whence == SEEK_CUR)
dat->fc_flock.l_start += fp->f_offset;
error = VOP_ADVLOCK(vp, (caddr_t)p->p_leader, F_GETLK,
&dat->fc_flock, F_POSIX);
- fdrop(fp, td);
+ fdrop(fp);
return(error);
default:
return (EINVAL);
if (type == DUP_VARIABLE || new >= fdp->fd_nfiles) {
error = fdalloc(p, new, &newfd);
if (error) {
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
fdalloced = TRUE;
fdp->fd_files[fdp->fd_lastfile].fp == NULL)
fdp->fd_lastfile--;
}
- fdrop(fp, td);
+ fdrop(fp);
return (EBADF);
}
KASSERT(old != new, ("new fd is same as old"));
return (EBADF);
fhold(fp);
error = fo_shutdown(fp, how);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
return (EBADF);
fhold(fp);
error = fo_stat(fp, ub, p->p_ucred);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
error = EOPNOTSUPP;
break;
}
- fdrop(fp, td);
+ fdrop(fp);
return(error);
}
LIST_INSERT_HEAD(&filehead, fp, f_list);
if (resultfd) {
if ((error = fsetfd(p, fp, resultfd)) != 0) {
- fdrop(fp, p->p_thread);
+ fdrop(fp);
fp = NULL;
}
} else {
F_UNLCK,
&lf,
F_POSIX);
- fdrop(fp, p->p_thread);
+ fdrop(fp);
/* reload due to possible reallocation */
fdnode = &fdp->fd_files[i];
}
int
fdcheckstd(struct proc *p)
{
- struct thread *td = p->p_thread;
struct nlookupdata nd;
struct filedesc *fdp;
struct file *fp;
error = vn_open(&nd, fp, flags, 0);
if (error == 0)
error = fsetfd(p, fp, &fd);
- fdrop(fp, td);
+ fdrop(fp);
nlookup_done(&nd);
if (error)
break;
}
}
}
- return (fdrop(fp, td));
+ return (fdrop(fp));
}
int
-fdrop(struct file *fp, struct thread *td)
+fdrop(struct file *fp)
{
struct flock lf;
struct vnode *vp;
* used to own. Release it.
*/
if (fp)
- fdrop(fp, curthread);
+ fdrop(fp);
return (0);
case ENXIO:
* used to own. Release it.
*/
if (fp)
- fdrop(fp, curthread);
+ fdrop(fp);
/*
* Complete the clean up of the filedesc structure by
* recomputing the various hints.
* SUCH DAMAGE.
*
* $FreeBSD: src/sys/kern/kern_event.c,v 1.2.2.10 2004/04/04 07:03:14 cperciva Exp $
- * $DragonFly: src/sys/kern/kern_event.c,v 1.21 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_event.c,v 1.22 2006/05/06 06:38:38 dillon Exp $
*/
#include <sys/param.h>
TAILQ_INIT(&kq->kq_head);
fp->f_data = kq;
uap->sysmsg_result = fd;
- fdrop(fp, curthread);
+ fdrop(fp);
if (fdp->fd_knlistsize < 0)
fdp->fd_knlistsize = 0; /* this process has a kq */
kq->kq_fdp = fdp;
error = kqueue_scan(fp, uap->nevents, uap->eventlist, uap->timeout, td, &uap->sysmsg_result);
done:
if (fp != NULL)
- fdrop(fp, p->p_thread);
+ fdrop(fp);
return (error);
}
done:
if (fp != NULL)
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
kn0 = SLIST_NEXT(kn, kn_link);
if (kq == kn->kn_kq) {
kn->kn_fop->f_detach(kn);
- fdrop(kn->kn_fp, td);
+ fdrop(kn->kn_fp);
knote_free(kn);
*knp = kn0;
} else {
if (kn->kn_status & KN_QUEUED)
knote_dequeue(kn);
if (kn->kn_fop->f_isfd)
- fdrop(kn->kn_fp, td);
+ fdrop(kn->kn_fp);
knote_free(kn);
}
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $DragonFly: src/sys/kern/kern_fp.c,v 1.15 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_fp.c,v 1.16 2006/05/06 06:38:38 dillon Exp $
*/
/*
error = vn_open(&nd, fp, flags, mode);
nlookup_done(&nd);
if (error) {
- fdrop(fp, td);
+ fdrop(fp);
*fpp = NULL;
}
return(error);
bad1:
fp->f_ops = &badfileops; /* open failed, don't close */
fp->f_data = NULL;
- fdrop(fp, td);
+ fdrop(fp);
/* leave the vnode intact, but fall through and unlock it anyway */
bad2:
*fpp = NULL;
int
fp_close(file_t fp)
{
- return(fdrop(fp, curthread));
+ return(fdrop(fp));
}
int
*
* @(#)sys_generic.c 8.5 (Berkeley) 1/21/94
* $FreeBSD: src/sys/kern/sys_generic.c,v 1.55.2.10 2001/03/17 10:39:32 peter Exp $
- * $DragonFly: src/sys/kern/sys_generic.c,v 1.26 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/sys_generic.c,v 1.27 2006/05/06 06:38:38 dillon Exp $
*/
#include "opt_ktrace.h"
} else {
error = dofileread(fd, fp, auio, flags, res);
}
- fdrop(fp, td);
+ fdrop(fp);
return(error);
}
error = dofilewrite(fd, fp, auio, flags, res);
}
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
if (error) {
if (memp != NULL)
free(memp, M_IOCTLOPS);
- fdrop(fp, td);
+ fdrop(fp);
return(error);
}
} else {
}
if (memp != NULL)
free(memp, M_IOCTLOPS);
- fdrop(fp, td);
+ fdrop(fp);
return(error);
}
* are met.
*
* $FreeBSD: src/sys/kern/sys_pipe.c,v 1.60.2.13 2002/08/05 15:05:15 des Exp $
- * $DragonFly: src/sys/kern/sys_pipe.c,v 1.33 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/sys_pipe.c,v 1.34 2006/05/06 06:38:38 dillon Exp $
*/
/*
if (error) {
if (fdp->fd_files[fd1].fp == rf) {
funsetfd(fdp, fd1);
- fdrop(rf, td);
+ fdrop(rf);
}
- fdrop(rf, td);
+ fdrop(rf);
/* rpipe has been closed by fdrop(). */
pipeclose(wpipe);
return (error);
rpipe->pipe_peer = wpipe;
wpipe->pipe_peer = rpipe;
- fdrop(rf, td);
- fdrop(wf, td);
+ fdrop(rf);
+ fdrop(wf);
return (0);
}
*
* @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94
* $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.65.2.17 2003/04/04 17:11:16 tegge Exp $
- * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.64 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.65 2006/05/06 06:38:38 dillon Exp $
*/
#include "opt_ktrace.h"
if (error) {
if (fdp->fd_files[fd].fp == fp) {
funsetfd(fdp, fd);
- fdrop(fp, td);
+ fdrop(fp);
}
} else {
fp->f_type = DTYPE_SOCKET;
fp->f_data = so;
*res = fd;
}
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
if (error)
return (error);
error = sobind((struct socket *)fp->f_data, sa, td);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
if (error)
return (error);
error = solisten((struct socket *)fp->f_data, backlog, td);
- fdrop(fp, td);
+ fdrop(fp);
return(error);
}
error = falloc(p, &nfp, &fd);
if (error) { /* Probably ran out of file descriptors. */
*res = -1;
- fdrop(lfp, td);
+ fdrop(lfp);
return (error);
}
*res = fd;
*res = -1;
if (fdp->fd_files[fd].fp == nfp) {
funsetfd(fdp, fd);
- fdrop(nfp, td);
+ fdrop(nfp);
}
}
* Release explicitly held references before returning.
*/
if (nfp)
- fdrop(nfp, td);
- fdrop(lfp, td);
+ fdrop(nfp);
+ fdrop(lfp);
return (error);
}
if (error == ERESTART)
error = EINTR;
done:
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
fp1->f_type = fp2->f_type = DTYPE_SOCKET;
fp1->f_flag = fp2->f_flag = FREAD|FWRITE;
fp1->f_ops = fp2->f_ops = &socketops;
- fdrop(fp1, td);
- fdrop(fp2, td);
+ fdrop(fp1);
+ fdrop(fp2);
return (error);
free4:
if (fdp->fd_files[sv[1]].fp == fp2) {
funsetfd(fdp, sv[1]);
- fdrop(fp2, td);
+ fdrop(fp2);
}
- fdrop(fp2, td);
+ fdrop(fp2);
free3:
if (fdp->fd_files[sv[0]].fp == fp1) {
funsetfd(fdp, sv[0]);
- fdrop(fp1, td);
+ fdrop(fp1);
}
- fdrop(fp1, td);
+ fdrop(fp1);
free2:
(void)soclose(so2);
free1:
if (error == 0)
*res = len - auio->uio_resid;
done:
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
if (error == 0)
*res = len - auio->uio_resid;
done:
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
return (error);
error = sosetopt((struct socket *)fp->f_data, sopt);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
return (error);
error = sogetopt((struct socket *)fp->f_data, sopt);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
if (error)
return (error);
if (*namelen < 0) {
- fdrop(fp, td);
+ fdrop(fp);
return (EINVAL);
}
so = (struct socket *)fp->f_data;
}
}
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
if (error)
return (error);
if (*namelen < 0) {
- fdrop(fp, td);
+ fdrop(fp);
return (EINVAL);
}
so = (struct socket *)fp->f_data;
if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) {
- fdrop(fp, td);
+ fdrop(fp);
return (ENOTCONN);
}
error = so_pru_peeraddr(so, &sa);
}
}
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
return (EBADF);
}
if (fp->f_type != DTYPE_VNODE) {
- fdrop(fp, td);
+ fdrop(fp);
return (EINVAL);
}
vp = (struct vnode *)fp->f_data;
vref(vp);
- fdrop(fp, td);
+ fdrop(fp);
/*
* If specified, get the pointer to the sf_hdtr struct for
sbunlock(&so->so_snd);
done:
- fdrop(fp, td);
+ fdrop(fp);
done0:
if (mheader != NULL)
m_freem(mheader);
if (error) {
if (fdp->fd_files[fd].fp == nfp) {
funsetfd(fdp, fd);
- fdrop(nfp, td);
+ fdrop(nfp);
}
}
crit_exit();
*/
done:
if (nfp != NULL)
- fdrop(nfp, td);
- fdrop(lfp, td);
+ fdrop(nfp);
+ fdrop(lfp);
return (error);
#else /* SCTP */
return(EOPNOTSUPP);
* of the author. This software is distributed AS-IS.
*
* $FreeBSD: src/sys/kern/vfs_aio.c,v 1.70.2.28 2003/05/29 06:15:35 alc Exp $
- * $DragonFly: src/sys/kern/vfs_aio.c,v 1.26 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_aio.c,v 1.27 2006/05/06 06:38:38 dillon Exp $
*/
/*
}
aiocbe->jobstate = JOBST_NULL;
callout_stop(&aiocbe->timeout);
- fdrop(aiocbe->fd_file, curthread);
+ fdrop(aiocbe->fd_file);
TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list);
return 0;
}
jobrefid++;
if (opcode == LIO_NOP) {
- fdrop(fp, p->p_thread);
+ fdrop(fp);
TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list);
if (type == 0) {
suword(&job->_aiocb_private.error, 0);
error = kqueue_register(kq, &kev, p->p_thread);
aqueue_fail:
if (error) {
- fdrop(fp, p->p_thread);
+ fdrop(fp);
TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list);
if (type == 0)
suword(&job->_aiocb_private.error, error);
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $DragonFly: src/sys/kern/vfs_jops.c,v 1.24 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_jops.c,v 1.25 2006/05/06 06:38:38 dillon Exp $
*/
/*
* Each mount point may have zero or more independantly configured journals
journal_destroy_threads(jo, flags);
if (jo->fp)
- fdrop(jo->fp, curthread);
+ fdrop(jo->fp);
/*
* Associate the new descriptor, reset the FIFO index, and recreate
journal_destroy_threads(jo, flags);
if (jo->fp)
- fdrop(jo->fp, curthread);
+ fdrop(jo->fp);
if (jo->fifo.membase)
free(jo->fifo.membase, M_JFIFO);
free(jo, M_JOURNAL);
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $DragonFly: src/sys/kern/vfs_journal.c,v 1.24 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_journal.c,v 1.25 2006/05/06 06:38:38 dillon Exp $
*/
/*
* Each mount point may have zero or more independantly configured journals
journal_destroy_threads(jo, flags);
if (jo->fp)
- fdrop(jo->fp, curthread);
+ fdrop(jo->fp);
/*
* Associate the new descriptor, reset the FIFO index, and recreate
journal_destroy_threads(jo, flags);
if (jo->fp)
- fdrop(jo->fp, curthread);
+ fdrop(jo->fp);
if (jo->fifo.membase)
free(jo->fifo.membase, M_JFIFO);
free(jo, M_JOURNAL);
*
* @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94
* $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.151.2.18 2003/04/04 20:35:58 tegge Exp $
- * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.86 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.87 2006/05/06 06:38:38 dillon Exp $
*/
#include <sys/param.h>
*/
error = kern_mountctl(path, uap->op, fp, ctl, uap->ctllen, buf, uap->buflen, &uap->sysmsg_result);
if (fp)
- fdrop(fp, td);
+ fdrop(fp);
if (error == 0 && uap->sysmsg_result > 0)
error = copyout(buf, uap->buf, uap->sysmsg_result);
done:
error = dupfdopen(fdp, indx, lp->lwp_dupfd, flags, error);
if (error == 0) {
*res = indx;
- fdrop(fp, td); /* our ref */
+ fdrop(fp); /* our ref */
return (0);
}
if (fdp->fd_files[indx].fp == fp) {
funsetfd(fdp, indx);
- fdrop(fp, td); /* fd_files[] ref */
+ fdrop(fp); /* fd_files[] ref */
}
}
}
- fdrop(fp, td); /* our ref */
+ fdrop(fp); /* our ref */
if (error == ERESTART)
error = EINTR;
return (error);
vp = (struct vnode *)fp->f_data;
vref(vp);
if ((error = fsetfd(p, fp, &indx)) != 0) {
- fdrop(fp, td);
+ fdrop(fp);
vrele(vp);
return (error);
}
("Open file descriptor lost all refs"));
vrele(vp);
fo_close(fp);
- fdrop(fp, td);
+ fdrop(fp);
*res = indx;
return 0;
}
vrele(vp);
if (fdp->fd_files[indx].fp == fp) {
funsetfd(fdp, indx);
- fdrop(fp, td);
+ fdrop(fp);
}
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
fp->f_flag |= FHASLOCK;
* release our private reference, leaving the one associated with the
* descriptor table intact.
*/
- fdrop(fp, td);
+ fdrop(fp);
*res = indx;
return (0);
}
*/
fp->f_ops = &badfileops;
fp->f_data = NULL;
- fdrop(fp, td);
+ fdrop(fp);
goto bad;
}
*/
if (vp->v_type == VREG && vp->v_object == NULL) {
printf("fhopen: regular file did not have VM object: %p\n", vp);
- fdrop(fp, td);
+ fdrop(fp);
goto bad;
}
* The open was successful, associate it with a file descriptor.
*/
if ((error = fsetfd(p, fp, &indx)) != 0) {
- fdrop(fp, td);
+ fdrop(fp);
goto bad;
}
*/
if (fdp->fd_files[indx].fp == fp) {
funsetfd(fdp, indx);
- fdrop(fp, td);
+ fdrop(fp);
}
/*
* release our private reference.
*/
- fdrop(fp, td);
+ fdrop(fp);
vrele(vp);
return (error);
}
}
vput(vp);
- fdrop(fp, td);
+ fdrop(fp);
uap->sysmsg_result = indx;
return (0);
/* $FreeBSD: src/sys/opencrypto/cryptodev.c,v 1.4.2.4 2003/06/03 00:09:02 sam Exp $ */
-/* $DragonFly: src/sys/opencrypto/cryptodev.c,v 1.13 2006/05/06 02:43:13 dillon Exp $ */
+/* $DragonFly: src/sys/opencrypto/cryptodev.c,v 1.14 2006/05/06 06:38:38 dillon Exp $ */
/* $OpenBSD: cryptodev.c,v 1.52 2002/06/19 07:22:46 deraadt Exp $ */
/*
f->f_ops = &cryptofops;
f->f_data = fcr;
*(u_int32_t *)data = fd;
- fdrop(f, td);
+ fdrop(f);
break;
default:
error = EINVAL;
*
* @(#)file.h 8.3 (Berkeley) 1/9/95
* $FreeBSD: src/sys/sys/file.h,v 1.22.2.7 2002/11/21 23:39:24 sam Exp $
- * $DragonFly: src/sys/sys/file.h,v 1.16 2006/05/06 02:43:13 dillon Exp $
+ * $DragonFly: src/sys/sys/file.h,v 1.17 2006/05/06 06:38:39 dillon Exp $
*/
#ifndef _SYS_FILE_H_
MALLOC_DECLARE(M_FILE);
#endif
-extern int fdrop (struct file *fp, struct thread *td);
-
+extern int fdrop (struct file *fp);
extern int fp_open(const char *path, int flags, int mode, struct file **fpp);
extern int fp_vpopen(struct vnode *vp, int flags, struct file **fpp);
extern int fp_pread(struct file *fp, void *buf, size_t nbytes, off_t offset, ssize_t *res);
*
* @(#)file.h 8.3 (Berkeley) 1/9/95
* $FreeBSD: src/sys/sys/file.h,v 1.22.2.7 2002/11/21 23:39:24 sam Exp $
- * $DragonFly: src/sys/sys/file2.h,v 1.4 2006/05/06 02:43:13 dillon Exp $
+ * $DragonFly: src/sys/sys/file2.h,v 1.5 2006/05/06 06:38:39 dillon Exp $
*/
#ifndef _SYS_FILE2_H_
fhold(fp);
error = (*fp->f_ops->fold_read)(fp, uio, cred, flags);
- fdrop(fp, curthread);
+ fdrop(fp);
return (error);
}
fhold(fp);
error = (*fp->f_ops->fold_write)(fp, uio, cred, flags);
- fdrop(fp, curthread);
+ fdrop(fp);
return (error);
}
fhold(fp);
error = (*fp->f_ops->fold_ioctl)(fp, com, data, cred);
- fdrop(fp, curthread);
+ fdrop(fp);
return (error);
}
fhold(fp);
error = (*fp->f_ops->fold_poll)(fp, events, cred);
- fdrop(fp, curthread);
+ fdrop(fp);
return (error);
}
fhold(fp);
error = (*fp->f_ops->fold_stat)(fp, sb, cred);
- fdrop(fp, curthread);
+ fdrop(fp);
return (error);
}
*
* @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95
* $FreeBSD: src/sys/nfs/nfs_syscalls.c,v 1.58.2.1 2000/11/26 02:30:06 dillon Exp $
- * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.23 2006/03/27 16:18:39 dillon Exp $
+ * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.24 2006/05/06 06:38:39 dillon Exp $
*/
#include <sys/param.h>
error = getsockaddr(&nam, nfsdarg.name,
nfsdarg.namelen);
if (error) {
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
}
error = nfssvc_addsock(fp, nam, td);
- fdrop(fp, td);
+ fdrop(fp);
} else {
error = copyin(uap->argp, (caddr_t)nsd, sizeof (*nsd));
if (error)
* @(#)portal_vfsops.c 8.11 (Berkeley) 5/14/95
*
* $FreeBSD: src/sys/miscfs/portal/portal_vfsops.c,v 1.26.2.2 2001/07/26 20:37:16 iedowse Exp $
- * $DragonFly: src/sys/vfs/portal/portal_vfsops.c,v 1.18 2006/05/05 21:15:10 dillon Exp $
+ * $DragonFly: src/sys/vfs/portal/portal_vfsops.c,v 1.19 2006/05/06 06:38:39 dillon Exp $
*/
/*
return (error);
so = (struct socket *) fp->f_data;
if (so->so_proto->pr_domain->dom_family != AF_UNIX) {
- fdrop(fp, td);
+ fdrop(fp);
return (ESOCKTNOSUPPORT);
}
if (error) {
FREE(fmp, M_PORTALFSMNT);
FREE(pn, M_TEMP);
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}
vx_unlock(rvp);
(void)portal_statfs(mp, &mp->mnt_stat, td);
- fdrop(fp, td);
+ fdrop(fp);
return (0);
}
*
* @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94
* $FreeBSD: src/sys/vm/vm_mmap.c,v 1.108.2.6 2002/07/02 20:06:19 dillon Exp $
- * $DragonFly: src/sys/vm/vm_mmap.c,v 1.26 2006/05/06 02:43:15 dillon Exp $
+ * $DragonFly: src/sys/vm/vm_mmap.c,v 1.27 2006/05/06 06:38:39 dillon Exp $
*/
/*
*res = (void *)(addr + pageoff);
done:
if (fp)
- fdrop(fp, td);
+ fdrop(fp);
return (error);
}