samba shares access issue in Solaris from a MT program

Narayana Pattipati narayana.pattipati at wipro.com
Tue Sep 28 16:05:21 GMT 2004


Hi Dave,

On Tue, 2004-09-28 at 21:02, David Collier-Brown wrote:
> ---
> bin/libsmbclient.so: $(LIBSMBCLIENT_PICOBJS)
> 	@echo Linking libsmbclient shared library $@
> 	@$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) \
> 		$(LDFLAGS) $(DYNEXP) $(LIBS) \
>            	$(KRB5LIBS) $(LDAP_LIBS) \
> 		-h `basename $@`.$(LIBSMBCLIENT_MAJOR)
> 
> to
> ---
> bin/libsmbclient.so: $(LIBSMBCLIENT_PICOBJS)
> 	@echo Linking libsmbclient shared library $@
> 	@$(SHLD) $(LDSHFLAGS) -D_REENTRANT \
> 		-o $@ $(LIBSMBCLIENT_PICOBJS) \
> 		$(LDFLAGS) $(DYNEXP) $(LIBS) \
>            	$(KRB5LIBS) $(LDAP_LIBS) -lthread \
> 		-h `basename $@`.$(LIBSMBCLIENT_MAJOR)
> 
> ... for Solaris versions up to 9. On Solaris 10, you don't
> need to add -lthread, as it was folded into the standard
> c library.

If I not wrong, this change is trying to add -D_REENTRANT flag during
linking time. This may not work. I tried it with a small test program,
which did not work. I guess we need to use this flag during compilation
time.

May be Sean can give exact details.

Regards,
Narayana

>    Who's the configure guru on the team? (:-))
> 
> --dave
> 
> David Collier-Brown wrote:
> > On Fri, 24 Sep 2004, Narayana Pattipati wrote:
> > 
> >> [Nice description of problem redacted.]
> >>
> >>
> >>> If samba is build with "-mt" flags, then the errno will be pointed
> >>> to __errno() macro, instead of global errno, and thread executing samba
> >>> code will be able to access correct errno.
> >>>
> >>> I have few open questions based on this:
> >>> a) I read from samba site that its not MT safe. But since the code 
> >>> runs in
> >>>   one thread only, is it OK to build samba with "-mt" compiler flags ?
> >>>   What would be the side effects if samba is build with -mt compiler
> >>>   flags ?
> > 
> > 
> > 
> > Richard Sharpe wrote:D>
> > 
> >> I cannot see any problems with this, off my head.
> > 
> > 
> >     From my experience with the compiler/linkers
> >     on Sun, the only substantiative change is the
> >     use of a thread-aware errno mechanism. If the
> >     program is unthreaded, the errno will work
> >     normally even with -mt specified.
> > 
> >     Of course, it is the responsibility of the
> >     caller to protect the library against concurrent
> >     calls via locking, but that and -mt are what
> >     we've used in the past to make non-thread-safe
> >     libraries usable.
> > 
> >     I'd like to suggest that the configure script
> >     be changed to add -mt to the solaris linker
> >     options for Solaris (only).
> >     
> > --dave
> > ps: would you like this submitted via bugzilla,for your records?
> > -- 
> > David Collier-Brown,  | Always do right. This will gratify
> > davecb at spamcop.net    | some people and astonish the rest
> >                       |                      -- Mark Twain
> > 
> > 
> 
> 




Confidentiality Notice 

The information contained in this electronic message and any attachments to this message are intended
for the exclusive use of the addressee(s) and may contain confidential or privileged information. If
you are not the intended recipient, please notify the sender at Wipro or Mailadmin at wipro.com immediately
and destroy all copies of this message and any attachments.


More information about the samba-technical mailing list