1.9.3 seems like it should actually still be using the
rb_thread_blocking_region() call, as ...call_without_gvl() isn't defined
in any header (although it is available).
Consuming that implicit declaration was causing crashes.
this allows threaded code on modern (>=2.0) rubies working. Also,
switch to the single-message form of the rd_kafka call -- the callback
form isn't safe to run without the GVL held, as it enters the ruby
interpreter in rb_yield().
This commit also moves tests back out of the platform specific scope and makes
the internal #push_single API more consistent to alllow easier testing.
Fixes#49
This reduces the need for the librdkafka system dependency and results in
statically linking librdkafka.a against the C extension.
There's a few hacks in extconf.rb specifically to deal with librdkafka's build
system, as well as apply checksumming to the downloaded file
Fixes#8