code: TimeVal compute_new_date(final TimeVal time, final long upd) {
  	final double ori_d = time.tv_sec + (double) time.tv_usec / 1000000;
  	final double new_d = ori_d + (double) upd / 1000;
  
  	final TimeVal ret = new TimeVal();
  	ret.tv_sec = (int) new_d;
  	ret.tv_usec = (int) ((new_d - ret.tv_sec) * 1000000);
  	return ret;
      }
docs: ===============================================================