Displaying 4 results from an estimated 4 matches for "280b319".
Did you mean:
28019
2020 Sep 08
2
Re: [libnbd PATCH 1/2] generator: Refactor handling of closures in unlocked functions
...C.mli | 1 +
> lib/debug.c | 6 ++--
> lib/opt.c | 26 ++++++++---------
> lib/rw.c | 76 ++++++++++++++++++++++++-------------------------
> 5 files changed, 73 insertions(+), 71 deletions(-)
>
> diff --git a/generator/C.ml b/generator/C.ml
> index deb77fa..280b319 100644
> --- a/generator/C.ml
> +++ b/generator/C.ml
> @@ -99,16 +99,17 @@ let rec name_of_arg = function
> | UInt64 n -> [n]
>
> let rec print_arg_list ?(wrap = false) ?maxcol ?handle ?types ?(parens = true)
> + ?(closure_mark) args optargs =
You don't need...
2020 Sep 07
4
[libnbd PATCH 0/2] Fix memory leak with closures
As promised in my earlier thread on libnbd completion callback question.
Eric Blake (2):
generator: Refactor handling of closures in unlocked functions
generator: Free closures on failure
docs/libnbd.pod | 2 +-
generator/C.ml | 48 +++++++++++------
generator/C.mli | 1 +
lib/debug.c | 7 +--
lib/opt.c | 31 ++++++-----
2020 Sep 07
0
[libnbd PATCH 2/2] generator: Free closures on failure
...ional free function with callbacks. Libnbd
will call this function when the callback will not be called again by
-libnbd.
+libnbd, including in the case where the API fails.
This can be used to free associated C<user_data>. For example:
diff --git a/generator/C.ml b/generator/C.ml
index 280b319..4bdcf60 100644
--- a/generator/C.ml
+++ b/generator/C.ml
@@ -553,6 +553,19 @@ let generate_lib_api_c () =
print_trace_leave ret;
pr "\n"
);
+ (* Finish any closures not transferred to state machine. *)
+ List.iter (
+ function
+ | Closure { cbname } -&g...
2020 Sep 07
0
[libnbd PATCH 1/2] generator: Refactor handling of closures in unlocked functions
...++++++++++++-----------
generator/C.mli | 1 +
lib/debug.c | 6 ++--
lib/opt.c | 26 ++++++++---------
lib/rw.c | 76 ++++++++++++++++++++++++-------------------------
5 files changed, 73 insertions(+), 71 deletions(-)
diff --git a/generator/C.ml b/generator/C.ml
index deb77fa..280b319 100644
--- a/generator/C.ml
+++ b/generator/C.ml
@@ -99,16 +99,17 @@ let rec name_of_arg = function
| UInt64 n -> [n]
let rec print_arg_list ?(wrap = false) ?maxcol ?handle ?types ?(parens = true)
+ ?(closure_mark) args optargs =
+ if parens then pr "(";
+ if wrap then
+...