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
[EMAIL PROTECTED]
Personal Opinion Only


-- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to