rsync on OpenVMS
jw at pegasys.ws
Wed Oct 22 13:43:12 EST 2003
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: jw at pegasys.ws
Remember Cernan and Schmitt
More information about the rsync