This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

B20.1 & Win95 fork/socket bug, or Why Rsync Doesn't Work



Hi!

I tried to compile/run rsync (sources from
http://www.student.uni-koeln.de/cygwin/Distribution/Source/rsync/) under
Win95/Cygwin B20.1. Compiles allright, but doesn't run. Under 98 it runs
perfectly well, so I suspect this problem is somewhere in Win95. It would be
very nice if cygwin could do a workaround.

The problem is this: in do_recv() in rsync's main.c there's this structure:

	f_in is filedescriptor of a socket connected to the rsync server

        fork
           child does read(f_in)

        parent does write(f_in)

Parent's write() is okay, but childs read() doesn't receive anything, and the
child process just waits forever.

I don't know if this affects only sockets, or all filedescriptors.

In the mean time, for my specific situation I could remove the fork
completely, and simply run the child after the parent. This works
perfectly.

I don't have time to go into more detail, but just ask if you need to know
more. In case you're interested, My hacked version of rsync is at
http://panic.et.tudelft.nl/~costar/pseudo-image-kit ("Windows version").

And BTW, set CYGWIN=binmode, otherwise rsync goes all wrong...

Regards,
  Anne Bezemer


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]