On Thu, 14 Feb 2019 16:13:34 +0200 Slavomir Kaslev <kaslevs@xxxxxxxxxx> wrote: > @@ -487,7 +538,10 @@ long tracecmd_flush_recording(struct tracecmd_recorder *recorder) > > int tracecmd_start_recording(struct tracecmd_recorder *recorder, unsigned long sleep) > { > - struct timespec req; > + struct timespec req = { > + .tv_sec = sleep / 1000000, > + .tv_nsec = (sleep % 1000000) * 1000, > + }; > long read = 1; > long ret; > > @@ -495,17 +549,12 @@ int tracecmd_start_recording(struct tracecmd_recorder *recorder, unsigned long s > > do { > /* Only sleep if we did not read anything last time */ > - if (!read && sleep) { > - req.tv_sec = sleep / 1000000; > - req.tv_nsec = (sleep % 1000000) * 1000; > + if (!read && sleep) > nanosleep(&req, NULL); > - } > + The above change is really a clean up and should be a separate patch as well. -- Steve > read = 0; > do { > - if (recorder->flags & TRACECMD_RECORD_NOSPLICE) > - ret = read_data(recorder); > - else > - ret = splice_data(recorder); > + ret = move_data(recorder); > if (ret < 0) > return ret; > read += ret;