[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] libxl: reimplement buffer for bootloading and drop data if buffer is full
Roger Pau Monne writes ("[Xen-devel] [PATCH v2] libxl: reimplement buffer for bootloading and drop data if buffer is full"): > + /* Move buffers around to drop already consumed data */ > + if (xenconsoled_cons > 0) { > + xenconsoled_prod -= xenconsoled_cons; > + memmove(xenconsoled_buf, &xenconsoled_buf[xenconsoled_cons], > xenconsoled_prod); This has quite a few overly-long lines. Can you keep them to 75ish please ? > - ret = select(nfds, &rsel, &wsel, NULL, NULL); > + ret = select(nfds, &rsel, &wsel, NULL, &wait); > if (ret < 0) > goto out_err; This needs to handle EINTR. Ie, if EINTR happens, just loop again. (A better implementation would actually subtract the timeout but let's not do that now). > + timeout = ret == 0 ? 1 : 0; This seems a slightly odd approach. How about if (ret==0) { empty the ring buffer continue; } ? And you should avoid setting a timeout if the buffer is empty, so that a completely idle setup just sits and waits rather than polling every second. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |