ruby_io_splice.git  about / heads / tags
zero-copy pipe I/O for Linux and Ruby
blob bfd655a934e6eff6cc6af34a3037255f5b76abe9 408 bytes (raw)
$ git show HEAD:ext/io_splice/extconf.rb	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 
require 'mkmf'
$CPPFLAGS << ' -D_GNU_SOURCE=1'

have_func('splice', %w(fcntl.h)) or abort 'splice(2) not defined'
have_func('tee', %w(fcntl.h)) or abort 'tee(2) not defined'
have_func('pipe2', %w(fcntl.h unistd.h))
have_func('rb_thread_blocking_region')
have_func('rb_thread_call_without_gvl')
have_macro('F_GETPIPE_SZ', %w(fcntl.h))
have_macro('F_SETPIPE_SZ', %w(fcntl.h))

create_makefile('io_splice_ext')

git clone https://yhbt.net/ruby_io_splice.git