chiark / gitweb /
disorder-normalize always uses a fresh resampler on each chunk (the
[disorder] / lib / syscalls.c
index 0d5dc187a0111eb637b32469951a769d50b27b60..e13922e2d69a616fa6e280a51d15b64f7ea0b5c7 100644 (file)
 
 int mustnotbeminus1(const char *what, int ret) {
   if(ret == -1)
-    fatal(errno, "error calling %s", what);
+    disorder_fatal(errno, "error calling %s", what);
   return ret;
 }
 
 pid_t xfork(void) {
   pid_t pid;
 
-  if((pid = fork()) < 0) fatal(errno, "error calling fork");
+  if((pid = fork()) < 0)
+    disorder_fatal(errno, "error calling fork");
   return pid;
 }
 
 void xclose_guts(const char *path, int line, int fd) {
   if(close(fd) < 0)
-    fatal(errno, "%s:%d: close %d", path, line, fd);
+    disorder_fatal(errno, "%s:%d: close %d", path, line, fd);
 }
 
 void xdup2(int fd1, int fd2) {
@@ -140,7 +141,8 @@ int xnice(int inc) {
    * be -1 */
   errno = 0;
   ret = nice(inc);
-  if(errno) fatal(errno, "error calling nice");
+  if(errno)
+    disorder_fatal(errno, "error calling nice");
   return ret;
 }
 
@@ -148,6 +150,15 @@ void xgettimeofday(struct timeval *tv, struct timezone *tz) {
   mustnotbeminus1("gettimeofday", gettimeofday(tv, tz));
 }
 
+time_t xtime(time_t *whenp) {
+  struct timeval tv;
+
+  xgettimeofday(&tv, NULL);
+  if(whenp)
+    *whenp = tv.tv_sec;
+  return tv.tv_sec;
+}
+
 /*
 Local Variables:
 c-basic-offset:2