7002957: (fc) FileChannel.transferTo fails to load libsendfile on Solaris 64-bit

Alan Bateman Alan.Bateman at oracle.com
Sun Jan 9 09:53:16 PST 2011


Chris Hegarty wrote:
> If I understand the changes correctly, you explicitly state the xxx64 
> version of the function (and type) for the Solaris 32 bit compilation, 
> but the regular sendfilev for _LP64. Is this a minor optimization? I 
> think it would be simpler to just use sendfilev64 for both. Or would 
> this be incorrect?
>
> -Chris.
When you compile for 64-bit then it supports large files/offsets by 
default and so sendfilev and sendfilev64 are the same thing.  With 
32-bit apps then you have to use the transitional interfaces (xxx64). 
I've cleaned it up slightly to only use sendfilev64 as you suggested and 
this will compile to the same thing as before. The main overall change 
is to link against libsendfile rather than using dlopen to attempt to 
load libsendfile.

-Alan


More information about the nio-dev mailing list