rsync on OpenVMS

jw schultz jw at
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

		Remember Cernan and Schmitt

More information about the rsync mailing list