Messages in this thread | | | Subject | Re: [PATCH 06/10] posix-cpu-timers: fix wrong timer initialization | From | Olivier Langlois <> | Date | Tue, 30 Apr 2013 09:34:54 -0400 |
| |
On Mon, 2013-04-29 at 23:17 -0400, kosaki.motohiro@gmail.com wrote: > From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > > Currently glibc's rt/tst-cputimer1 testcase is spradically fail because > a timer created by timer_create() may fire earlier than it's specified. > > posix_cpu_timer_set() uses "val" as current time for three purpose. 1) > initialize sig->cputimer. 2) calculation "old" val. 3) calculations an > expires time. > > (1) and (2) should be used only committed time (i.e. without delta_exec) > because run_posix_cpu_timers() don't care of delta_exec and we need > consistency. But (3) need exact current time (aka cpu clock time) beucase > an expires should be "now + timeout" by definition. > > This patch makes separete two kind of "now". > Kosaki,
I must admit that this solution is simpler to what I originally proposed.
good work! Olivier
| |