urban at teststation.com
Wed May 8 08:28:55 GMT 2002
On Wed, 8 May 2002 jacky_pan at wistron.com.cn 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 cvs.uclinux.org, and compiled the
> client section successfully with little modification.But I meet some trouble
> when running a command like "smbmount //192.168.1.5/public /home/mp100x/".I
> compare the source code between uclinux.org and samba.org,find there are some
> differences between them.
The uclinux.org 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
> 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