Seems like a good diff.

* Daniel Eischen <[EMAIL PROTECTED]> [031129 21:41] wrote:
> 
> You should just call close() if the fd has not been initialized.
> 
> Index: uthread_close.c
> ===================================================================
> RCS file: /opt/FreeBSD/cvs/src/lib/libc_r/uthread/uthread_close.c,v
> retrieving revision 1.16
> diff -u -r1.16 uthread_close.c
> --- uthread_close.c   9 Jun 2003 16:45:37 -0000       1.16
> +++ uthread_close.c   30 Nov 2003 09:05:52 -0000
> @@ -50,8 +50,7 @@
>       struct fd_table_entry   *entry;
>  
>       if ((fd < 0) || (fd >= _thread_dtablesize) ||
> -         (fd == _thread_kern_pipe[0]) || (fd == _thread_kern_pipe[1]) ||
> -         (_thread_fd_table[fd] == NULL)) {
> +         (fd == _thread_kern_pipe[0]) || (fd == _thread_kern_pipe[1])) {
>               /*
>                * Don't allow silly programs to close the kernel pipe
>                * and non-active descriptors.
> @@ -59,6 +58,8 @@
>               errno = EBADF;
>               ret = -1;
>       }
> +     else if (_thread_fd_table[fd] == NULL)
> +             ret = __sys_close(fd);
>       /*
>        * Lock the file descriptor while the file is closed and get
>        * the file descriptor status:
> 
> -- 
> Dan Eischen

-- 
- Alfred Perlstein
- Research Engineering Development Inc.
- email: [EMAIL PROTECTED] cell: 408-480-4684
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to