static void * background_mongoc_collection_find_and_modify (void *data) { future_t *future = (future_t *) data; future_value_t return_value; return_value.type = future_value_bool_type; future_value_set_bool ( &return_value, mongoc_collection_find_and_modify ( future_value_get_mongoc_collection_ptr (future_get_param (future, 0)), future_value_get_const_bson_ptr (future_get_param (future, 1)), future_value_get_const_bson_ptr (future_get_param (future, 2)), future_value_get_const_bson_ptr (future_get_param (future, 3)), future_value_get_const_bson_ptr (future_get_param (future, 4)), future_value_get_bool (future_get_param (future, 5)), future_value_get_bool (future_get_param (future, 6)), future_value_get_bool (future_get_param (future, 7)), future_value_get_bson_ptr (future_get_param (future, 8)), future_value_get_bson_error_ptr (future_get_param (future, 9)) )); future_resolve (future, return_value); return NULL; }
bool future_get_bool (future_t *future) { if (future_wait (future)) { return future_value_get_bool (&future->return_value); } fprintf (stderr, "%s timed out\n", BSON_FUNC); abort (); }