Page MenuHomeFreeBSD

D55791.diff
No OneTemporary

D55791.diff

diff --git a/sys/sys/time.h b/sys/sys/time.h
--- a/sys/sys/time.h
+++ b/sys/sys/time.h
@@ -352,6 +352,16 @@
return (((sbintime_t)_ts.tv_sec << 32) + nstosbt(_ts.tv_nsec));
}
+static __inline sbintime_t
+tstosbt_sat(struct timespec _ts)
+{
+ if (_ts.tv_sec > SBT_MAX >> 32)
+ return (SBT_MAX);
+ if (_ts.tv_sec < -(SBT_MAX >> 32) - 1)
+ return (-SBT_MAX - 1);
+ return (tstosbt(_ts));
+}
+
static __inline struct timeval
sbttotv(sbintime_t _sbt)
{
@@ -368,6 +378,17 @@
return (((sbintime_t)_tv.tv_sec << 32) + ustosbt(_tv.tv_usec));
}
+
+static __inline sbintime_t
+tvtosbt_sat(struct timeval _tv)
+{
+ if (_tv.tv_sec > SBT_MAX >> 32)
+ return (SBT_MAX);
+ if (_tv.tv_sec < -(SBT_MAX >> 32) - 1)
+ return (-SBT_MAX - 1);
+ return (tvtosbt(_tv));
+}
+
#endif /* __BSD_VISIBLE */
#ifdef _KERNEL

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 16, 7:39 AM (2 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29520868
Default Alt Text
D55791.diff (814 B)

Event Timeline