Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Oct 2001 21:40:45 +0300
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        Jason Evans <jasone@canonware.com>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/lib/libc_r/uthread pthread_private.h
Message-ID:  <20011019214045.L24666@sunbay.com>
In-Reply-To: <20011019105525.C53185@canonware.com>; from jasone@canonware.com on Fri, Oct 19, 2001 at 10:55:25AM -0700
References:  <200110191722.f9JHM5O29047@freefall.freebsd.org> <20011019105525.C53185@canonware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Oct 19, 2001 at 10:55:25AM -0700, Jason Evans wrote:
> On Fri, Oct 19, 2001 at 10:22:04AM -0700, Ruslan Ermilov wrote:
> > ru          2001/10/19 10:22:04 PDT
> > 
> >   Modified files:        (Branch: RELENG_4)
> >     lib/libc_r/uthread   pthread_private.h 
> >   Log:
> >   Cleanup of _thread_sys* declarations:
> >   
> >   - Removed gratuitous declarations for non-syscalls.
> >   
> >   - Added declarations for aio_suspend(), kevent(), nanosleep(), rfork(),
> >     sched_yield(), sendfile(), sigblock(), sigsetmask(), and vfork().
> >   
> >   - Fixed declarations for <sys/socket.h> syscalls (int -> socklen_t).
> >   
> >   - Style.
> 
> Why weren't the changes that are equally applicable to -current made there
> first, then MFCed?  This looks to me like an obvious violation of stated
> procedure.  This surely would have been pointed out to you, had you
> bothered to have the changes reviewed by me or Dan Eischen.
> 
It doesn't equally applicable to -CURRENT actually, and I tried to get a
review from Daniel for a related (unhide nfssvc(2)) change with no luck.
In -CURRENT, we don't hide syscalls, but instead syscalls are available
as __sys_*, and libc provides weak aliases for them which libc_r then
overrides some of.  We thus have a light-weighted version of libc_r
in -CURRENT, as compared to -STABLE:

-r--r--r--  1 root  wheel  1456412 Oct 19 20:06 /STABLE/usr/lib/libc_r.a
-r--r--r--  1 root  wheel   252026 Oct 15 05:19 /CURRENT/usr/lib/libc_r.a

In -STABLE, we rename syscalls that libc_r overrides to __sys_thread_*.
So at least item 1 (the biggest) of this change isn't applicable to
-CURRENT.  Also, as we don't hide syscalls in -CURRENT, compiling a
program statically with libc_r with either of nfssvc() or sigreturn()
worked in -CURRENT, but was broken in -STABLE.

But I agree that at least item 2 (<sys/socket.h> syscalls prototypes)
applies to -CURRENT as well, and am sorry for not doing it there first.

OTOH, in -CURRENT, real syscalls are avaibale as __sys_*, and the
right thing to do would be to prototype only those syscalls that
are used internally by libc_r.  I'll prepare the patch on Monday
for -CURRENT, and will send it to you for review.


Cheers,
-- 
Ruslan Ermilov		Oracle Developer/DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011019214045.L24666>