tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib



On Fri, Mar 22, 2013 at 12:08:31PM +0900, Joerg Sonnenberger wrote:
> On Thu, Mar 21, 2013 at 12:49:12PM -0400, Christos Zoulas wrote:
> > Module Name:        src
> > Committed By:       christos
> > Date:               Thu Mar 21 16:49:12 UTC 2013
> > 
> > Modified Files:
> >     src/lib/libc/include: reentrant.h
> >     src/lib/libc/thread-stub: thread-stub.c
> >     src/lib/libpthread: Makefile pthread.c pthread_cancelstub.c
> >         pthread_cond.c pthread_int.h pthread_misc.c pthread_mutex.c
> >         pthread_once.c pthread_rwlock.c pthread_specific.c pthread_tsd.c
> > 
> > Log Message:
> > - Allow libpthread to be dlopened again, by providing libc stubs to 
> > libpthread.
> > - Fail if the dlopened libpthread does pthread_create(). From manu@
> > - Discussed at length in the mailing lists; approved by core@
> > - This was chosen as the least intrusive patch that will provide
> >   the necessary functionality.
> > XXX: pullup to 6
> 
> This is wrong and unnecessary as pointed out on the mailing lists. Why
> are technical objections silently ignored now? Especially if they add
> overhead without any gain and make the error case more mysterious.

Does it even work?
On the face of it pthread__init() will be called by dlopen().
So __uselibcstub will get set to zero.

I also suspect thatthe pthread__errorfunc() calls rely on
pthread__diagnostic betin set - by pthread__init().

I think pthread_init() needs to be looking at some value that
libc set before calling main.

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index