/* * call-seq: * multi = Curl::Multi.new * easy = Curl::Easy.new('url') * * multi.add(easy) * * # sometime later * multi.remove(easy) * * Remove an easy handle from a multi stack * * Will raise an exception if the easy handle is not found */ static VALUE ruby_curl_multi_remove(VALUE self, VALUE easy) { ruby_curl_multi *rbcm; Data_Get_Struct(self, ruby_curl_multi, rbcm); rb_curl_multi_remove(rbcm,easy); // active should equal INT2FIX(RHASH(rbcm->requests)->tbl->num_entries) return self; }
/* * call-seq: * multi = Curl::Multi.new * easy = Curl::Easy.new('url') * * multi.add(easy) * * # sometime later * multi.remove(easy) * * Remove an easy handle from a multi stack. * * Will raise an exception if the easy handle is not found */ VALUE ruby_curl_multi_remove(VALUE self, VALUE easy) { ruby_curl_multi *rbcm; ruby_curl_easy *rbce; Data_Get_Struct(self, ruby_curl_multi, rbcm); Data_Get_Struct(easy, ruby_curl_easy, rbce); rb_curl_multi_remove(rbcm,easy); return self; }
static void curl_multi_flush_easy(VALUE key, VALUE easy, ruby_curl_multi *rbcm) { rb_curl_multi_remove(rbcm, easy); }
/* Hash#foreach callback for ruby_curl_multi_cancel */ static int ruby_curl_multi_cancel_callback(VALUE key, VALUE value, ruby_curl_multi *rbcm) { rb_curl_multi_remove(rbcm, value); return ST_CONTINUE; }