FreeBSD Bugzilla – Attachment 9205 Details for
Bug 18940
Reading from stdin using linux-jdk-1.2.2 under Linux emulation fails
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.78 KB, created by
markush
on 2000-06-01 13:50:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
markush
Created:
2000-06-01 13:50:00 UTC
Size:
1.78 KB
patch
obsolete
>--- linux_file.c.orig Mon May 29 13:21:09 2000 >+++ linux_file.c Mon May 29 13:26:05 2000 >@@ -199,12 +199,6 @@ > } */ fcntl_args; > struct linux_flock linux_flock; > struct flock *bsd_flock; >- struct filedesc *fdp; >- struct file *fp; >- struct vnode *vp; >- long pgid; >- struct pgrp *pgrp; >- struct tty *tp; > caddr_t sg; > dev_t dev; > >@@ -289,47 +283,9 @@ > > case LINUX_F_SETOWN: > case LINUX_F_GETOWN: >- /* >- * We need to route around the normal fcntl() for these calls, >- * since it uses TIOC{G,S}PGRP, which is too restrictive for >- * Linux F_{G,S}ETOWN semantics. For sockets, this problem >- * does not exist. >- */ >- fdp = p->p_fd; >- if ((u_int)args->fd >= fdp->fd_nfiles || >- (fp = fdp->fd_ofiles[args->fd]) == NULL) >- return EBADF; >- if (fp->f_type == DTYPE_SOCKET) { >- fcntl_args.cmd = args->cmd == LINUX_F_SETOWN ? F_SETOWN : F_GETOWN; >- fcntl_args.arg = args->arg; >- return fcntl(p, &fcntl_args); >- } >- vp = (struct vnode *)fp->f_data; >- dev = vn_todev(vp); >- if (dev == NODEV) >- return EINVAL; >- if (!(devsw(dev)->d_flags & D_TTY)) >- return EINVAL; >- tp = dev->si_tty; >- if (!tp) >- return EINVAL; >- if (args->cmd == LINUX_F_GETOWN) { >- p->p_retval[0] = tp->t_pgrp ? tp->t_pgrp->pg_id : NO_PID; >- return 0; >- } >- if ((long)args->arg <= 0) { >- pgid = -(long)args->arg; >- } else { >- struct proc *p1 = pfind((long)args->arg); >- if (p1 == 0) >- return (ESRCH); >- pgid = (long)p1->p_pgrp->pg_id; >- } >- pgrp = pgfind(pgid); >- if (pgrp == NULL || pgrp->pg_session != p->p_session) >- return EPERM; >- tp->t_pgrp = pgrp; >- return 0; >+ fcntl_args.cmd = args->cmd == LINUX_F_SETOWN ? F_SETOWN : F_GETOWN; >+ fcntl_args.arg = args->arg; >+ return fcntl(p, &fcntl_args); > } > return EINVAL; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 18940
: 9205