The implementation of fork() results in tree disconnects being sent to the SMB
server when closing the child processes's server references.
When the parent process then attempts another access to the same server it
receives "ERRSRV - ERRinvnid (The tree ID (TID) specified in a command was
Created attachment 746 [details]
test case for bug in smbw_fork()
This is an example C program. Compile and run as per comments at top.
Second stat() operation will return EINVAL (Invalid argument), not ENOENT (No
such file or directory) that one expects.
Created attachment 747 [details]
proposed bug fix to smbwrapper/smbw.c
This is a proposed patch, to prevent smbw_fork() from actually sending a tree
disconnect to the server.
smbwrapper is not being maintained currently. Marking as fix
later (if anyone wants to come back to this and run all the
necessary regression tests).