chiark / gitweb /
disorder-normalize always uses a fresh resampler on each chunk (the
[disorder] / lib / syscalls.c
index 0415a2d9eaa6bb3ae0986097e555878c85a43aa2..e13922e2d69a616fa6e280a51d15b64f7ea0b5c7 100644 (file)
@@ -15,7 +15,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-
+/** @file lib/syscalls.c
+ * @brief Error-checking library call wrappers
+ */
 #include "common.h"
 
 #include <unistd.h>
 
 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) {
@@ -138,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;
 }
 
@@ -146,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