function finish () {
        bindings.call_cb()
        assert.equal(4, invokeCount)

        kill()
        gc() // now ensure the inner "cb" Buffer is collected

        // should throw an Error synchronously
        try {
          bindings.call_cb()
          assert(false) // shouldn't get here
        } catch (e) {
          assert(/ffi/.test(e.message))
        }

        done()
      }
See https://github.com/rbranson/node-ffi/issues/72.
This is a tough issue. If we pass the ffi_closure Buffer to some foreign
C function, we really don't know *when* it's safe to dispose of the Buffer,
so it's left up to the developer.

In this case, we wrap the responsibility in a simple "kill()" function
that, when called, destroys of its references to the ffi_closure Buffer.