* Lai Jiangshan ([email protected]) wrote: > (Added a CC email address) > > On 08/08/2012 09:03 AM, Lai Jiangshan wrote: > > On 08/07/2012 10:06 PM, Mathieu Desnoyers wrote: > >> Hi Lai, > >> > >> * Lai Jiangshan ([email protected]) wrote: > >>> futex.h is in urcu/, it means it can be used by users out of the library. > >>> > >>> But > >>> > >>> If the user's system has futex, he should use #include <linux/futex.h>. > >>> If the user's system don't have futex, it is not good that if the user > >>> use this compat_futex. > >>> > >>> Because the compat_futex_async()'s behavior is different from the > >>> futex in linux. If the caller don't change the value of @uaddr, the > >>> futex(FUTEX_WAKE) in linux can also wake a thread, but > >>> compat_futex_async() don't. (I guess no one use this behavior, but if > >>> there are someone, we give them a wrong thing) > >> > >> Hrm, passing a NULL uaddr parameter is really not the targeted use-case. > >> We could probably just document that uaddr should not be NULL when using > >> compat_futex ? > > > > Sorry, I wanted to show you such un-normal behavior: > > > > /* keep the value of *uaddr unchanged, wake up a thread to do something */ > > futex(FUTEX_WAKE, uaddr, ...). > > > > This can't not wake up any thread for current compat_futex_async() > > implement. > > But the sys_futex() can. > > > > > > It is hard to implement compat_futex_async() to make its behavior compatible > with sys_futex().(I don't like the two alternatives too, I just wrote > what I have thought) so I sent rfc email to suggest to privatize > urcu/futex.h.
I don't think this issue has been taken care of, am I correct ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
