[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2-resend 11/30] libxl: ocaml: allocate a long lived libxl context.
Rob Hoes writes ("[Xen-devel] [PATCH v2-resend 11/30] libxl: ocaml: allocate a long lived libxl context."): > Rather than allocating a new context for every libxl call begin to > switch to a model where a context is allocated by the caller and may > then be used for multiple calls down into the library. ... > @@ -59,6 +65,8 @@ static void log_destroy(struct xentoollog_logger *logger) > lg.logger.vmessage = log_vmessage; \ > lg.logger.destroy = log_destroy; \ > lg.logger.progress = NULL; \ > + lg.log_offset = 0; \ > + memset(&lg.log_buf,0,sizeof(lg.log_buf)); \ Is this in the wrong patch ? @@ -77,7 +85,7 @@ static char * dup_String_val(caml_gc *gc, value s) > c = calloc(len + 1, sizeof(char)); > if (!c) > caml_raise_out_of_memory(); > - gc->ptrs[gc->offset++] = c; > + if (gc) gc->ptrs[gc->offset++] = c; I don't understand this at all. Is it going to become local to call this without a gc and if so what is its function in that case ? > @@ -94,9 +102,41 @@ static void failwith_xl(char *fname, struct caml_logger > *lg) > { > char *s; > s = (lg) ? lg->log_buf : fname; > + printf("Error: %s\n", fname); > caml_raise_with_string(*caml_named_value("xl.error"), s); > } I don't understand why this hunk is in this patch, either. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |