Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH 3/3] tools lib traceevent: Introduce pevent_strerror | Date | Wed, 13 Jun 2012 12:02:51 +0900 |
| |
Hi,
On Tue, 12 Jun 2012 14:01:54 -0400, Steven Rostedt wrote: > On Tue, 2012-06-12 at 16:42 +0900, Namhyung Kim wrote: >> +int pevent_strerror(struct pevent *pevent, enum pevent_errno errnum, >> + char *buf, size_t buflen) > > Hmm, actually I wonder if we should put the error into the pevent > structure. Then we wouldn't even need to waste time to pass the data > through. > > That is, you can simply do: > > ret = pevent_foo(); > if (ret < 0) { > pevent_strerr(pevent, buf, buflen); > printf("%s\n", buf); > } > > Perhaps even include a pevent_perror(), to just do: > > if (ret < 0) { > pevent_perror(pevent); > return ret; > } >
I thought something like this, but worried about the thread-safety. What about if more than one thread call pevent functions for a same pevent concurrently? Should we make the pevent->errno TLS?
Thanks, Namhyung
| |