samba client

jacky_pan at jacky_pan at
Thu May 9 01:30:38 GMT 2002

Dear Urban,

Thanks for your help.

As we discussed before,the process of smbmount is blocked to wait for a signal
of SIGUSR1 from smbfs.I think smbfs didn't send the signal.So the process can't
continue.I think this happen before reconnect(ioctl).So the question maybe is
when and where in source code smbfs send this signal.



Urban Widmark <urban at> on 2002-05-08 16:28:55

 To:      Jacky Pan/WSH/Wistron at WISTRON                       
 cc:      smb-clients at                         
 Subject: Re: samba client                                    

On Wed, 8 May 2002 jacky_pan at wrote:

> I am trying to porting samba client to PDA(uclinux).I downloaded the source

No, you are trying to port smbmount which isn't the same as smbclient (and
there is no "samba client", but if there was it would be smbclient).
Easier for people to know what you mean if you use the correct names.

> code(including server and client side) from, and compiled the
> client section successfully with little modification.But I meet some trouble
> when running a command like "smbmount // /home/mp100x/".I
> compare the source code between and,find there are some
> differences between them.

The code is from an older samba version, but whatever is
happening that is probably not your problem. The changes make smbmount
more stable, but if the initial mount doesn't work then I don't think
there is any difference.

> 34             /* Wait for a signal from smbfs ... */
> 35             CatchSignal(SIGUSR1, &usr1_handler);
> 36             pause();
> 37   #ifdef SMBFS_DEBUG
> 38             DEBUG(2,("mount.smbfs: got signal, getting new socket\n"));
> 39   #endif
> 40             c = do_connection(service);
> 41        }

> when running at line 36, the process is blocked to wait a signal of
> SIGUSR1 from
>  smbfs.

> I don't know the smbfs send the signal to the process.The process
> can't continue
>  if I don't write a command "kill -USR1 pid" in a terminal.

smbfs sends that signal when it wants smbmount to reconnect. The ioctl
passes the connection smbmount makes to smbfs and that is run before the
pause(). If that step fails then smbfs will not get a connection at all
and won't work.

smbmount is supposed to block there. If it doesn't work then that is still
not your problem. I'd start checking what that smbfs ioctl does on
uclinux and what values it actually gets.


More information about the smb-clients mailing list