On Sat, 25 Jan 2014, Darren Tucker wrote: > On Sat, Jan 25, 2014 at 3:52 PM, Hisashi T Fujinaka <htodd at twofifty.com> wrote: >> On Sat, 25 Jan 2014, Darren Tucker wrote: >> >>> Maybe there's something wrapping write() on your system too? Try adding >>> this to the start of atomicio.c:atomicio6(): >>> >>> printf(stderr, "read %x write %x argument %x\n", read, vwrite, f); >>> >>> then compile it and run a small scp: >>> >>> $ ./scp testfile localhost:/tmp/ >>> read b73eced0 write b73ecf50 argument b73eced0 >>> >>> The patch below makes the first argument to atomicio an int rather than >>> a function pointer. >>> >>> On the plus side: it also allows the removal of some hacks around >>> vwrite/writev. On the minus side: it's a large change albeit mostly >>> mechanical. >> >> >> I tried building after applying the patch, but I think I started in the >> wrong place? I think I started with a fresh git clone. > > I think you started with a tree which had one of the changes I > suggested upthread ( where I suggest changing the line to: > > pfd.events = f == vwrite ? POLLOUT : POLLIN; I don't see that in my current tree. >> Also, the scp told me it couldn't find /usr/local/bin/ssh. I'm guessing >> there are environment variables I need. > > you can work around that with "./configure --prefix=/usr" for testing, > but don't do "make install" unless you really want to replace the > system binaries in /usr/{bin,sbin} Wouldn't that test my local ssh? >> atomicio.c:59:57: error: 'vwrite' undeclared (first use in this function) > > "vwrite" doesn't appear in the unmodified version of atomicio.c except > in a comment. I'm confused. Should I start with a clean tree or a modified tree? And which patches should I use? I have a lot in my email at this point. -- Hisashi T Fujinaka - htodd at twofifty.com BSEE(6/86) + BSChem(3/95) + BAEnglish(8/95) + MSCS(8/03) + $2.50 = latte