Date: Fri, 7 Mar 1997 16:44:34 +1100 From: Bruce Evans <bde@zeta.org.au> To: msmith@atrad.adelaide.edu.au, pius@ienet.com Cc: hackers@freebsd.org, mark@quickweb.com, sos@ravenock.cybercity.dk Subject: Re: Linux JDK on 2.2 Message-ID: <199703070544.QAA02103@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>In linux_file.c there's this comment in the linux_fcntl function: > > 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. > */ > >So, how are FreeBSD's F_{G,S}ETOWN semantics different from Linux's? FreeBSD's F_{G,S}ETOWN/O_ASYNC implementation is completely broken: - it should apply to open file instances, but actually applies to devices. - normal kill() permissions don't apply. Any process can send SIGIO to any process using a socket. - for ttys, the process group handling is tangled up with POSIX POSIX group handling. The process group can only be set to that of a session leader with the tty as its controlling terminal. It is impossible to set the pgrp to a process instead of a group. - there are some confusing double negatives to convert from negative pids to positive process group numbers and back. ISTR that at least one driver gets this wrong. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703070544.QAA02103>