From 855f3d3b99a9267239732fa637699e58d64a2261 Mon Sep 17 00:00:00 2001 From: Ladi Prosek Date: Thu, 3 Mar 2016 09:37:17 +0100 Subject: rng: move request queue cleanup from RngEgd to RngBackend RngBackend is now in charge of cleaning up the linked list on instance finalization. It also exposes a function to finalize individual RngRequest instances, called by its child classes. Signed-off-by: Ladi Prosek Reviewed-by: Amit Shah Message-Id: <1456994238-9585-4-git-send-email-lprosek@redhat.com> Signed-off-by: Amit Shah --- include/sysemu/rng.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include') diff --git a/include/sysemu/rng.h b/include/sysemu/rng.h index c744d82..08a2eda 100644 --- a/include/sysemu/rng.h +++ b/include/sysemu/rng.h @@ -60,6 +60,7 @@ struct RngBackend GSList *requests; }; + /** * rng_backend_request_entropy: * @s: the backend to request entropy from @@ -78,4 +79,15 @@ struct RngBackend void rng_backend_request_entropy(RngBackend *s, size_t size, EntropyReceiveFunc *receive_entropy, void *opaque); + +/** + * rng_backend_free_request: + * @s: the backend that created the request + * @req: the request to finalize + * + * Used by child rng backend classes to finalize requests once they've been + * processed. The request is removed from the list of active requests and + * deleted. + */ +void rng_backend_finalize_request(RngBackend *s, RngRequest *req); #endif -- cgit v1.1