rsync on OpenVMS
John E. Malmberg
wb8tyw at qsl.net
Mon Oct 13 13:00:55 EST 2003
jw schultz wrote:
> On Sun, Oct 12, 2003 at 12:38:40AM -0400, John E. Malmberg wrote:
>
>>I am trying to restart getting rsync to run on OpenVMS, and find a way
>>around the fork() issue, posibly using POSIX threads.
>
> It occurs to me that i may have been overly encouraging in
> my last followup.
>
> Getting rsync to work using threads, whether pthreads or a
> superior form, will require enormous intrusive changes to
> the code.
> I do not know but if OpenVMS support is a problem for rsync
> proper you might wish to look at pysync or unison which
> might meet your immediate needs.
I have not heard of unison. I have heard that pysync was successful in
a limited test on OpenVMS. As near as I can tell though the librsync it
is based on is a bit out of date.
For a native rsync, my options are, in order of performance are:
1. Use native asynchronous I/O. This would likely require a complete
change for a large section of the code, and would require that the
protocol state machine be completely described. The resulting code
would probably be of most use to OpenVMS, but it could be adapted to
threads.
2. Use pthreads. As I have limited experience with pthreads, I do not
yet know the size of this task. The result though would be of benefit
to all platforms if successful.
3. Use vfork() instead of fork(). An OpenVMS limitation is that the
child process starts from the beginning and must initialize everything.
4. Use the OpenVMS LIB$SPAWN to start the receiving subprocess and link
pipes to it. Most of the same difficulties as above, except that it is
easier to use asynchronous I/O between the processes.
All have challenges.
-John
wb8tyw at qsl.network
Personal Opinion Only
More information about the rsync
mailing list