On Tue, Oct 21, 2003 at 11:28:11PM -0400, John E. Malmberg wrote: > jw schultz wrote: > > > >Sounds promising. > > > >The pitfall you with rsync in threads is that rsync forks > >with a COW expectation using a great deal of data set prior > >to the fork. Some of that data is altered. In particular a > >slew of global variables that must become thread unique when > >modified or things will break in subtle ways. > > Yes, I can see a few cases of this. > > There are approximately 235 global and static variables in rsync, and > of those 105 are obviously never modified after the fork() takes place. > That may be the case for several of the others, like the 10 in batch.c > > As the use of the remaining ones are identified, that issue is easily > fixed. What I need to do is map the routines called by the receive > process/thread to see what static/global variables that they modify. > > All the more reason to get more people working on this that want it to > work on the OpenVMS operating system. Several people have contacted me > that they are willing to assist.
If you put the ones that get modified post-fork into a thread-local structure there is a reasonable chance of that getting into mainline. -- ________________________________________________________________ J.W. Schultz Pegasystems Technologies email address: [EMAIL PROTECTED] Remember Cernan and Schmitt -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html