title: Time returned by CLOCK_BOOTTIME isn't monotonic
body: <p>In my project I'm facing with strange issue. On my device below code return "test failed" message. Sometimes this happen immediately, sometimes after short while, but always.</p>
  
  <pre><code>int main()
  {
      while(true)
      {
              static unsigned long long previous;
              timespec time;
              int ret = clock_gettime(CLOCK_BOOTTIME, &amp;time);
              if(0 != ret)
              {
                      return 1;
              }
  
              unsigned long long current = time.tv_sec * 1000000000llu;
              current += time.tv_nsec;
  
              if(current &lt; previous)
              {
                      std::cerr &lt;&lt; "test failed. time stepped back." &lt;&lt; std::endl;
                      return 1;
              }
              previous = current;
  
      }
      return 0;
  }
  </code></pre>
  
  <p>What could be possible wrong with this code? Tested on android 4.2.2.</p>