sched: Slightly fix up tests/prov
[akaros.git] / kern / include / err.h
index 84cb8a7..6b10c40 100644 (file)
@@ -1,7 +1,6 @@
 /* Plan9 style error popping.  For details, read Documentation/plan9.txt */
 
-#ifndef ROS_KERN_ERR_H
-#define ROS_KERN_ERR_H
+#pragma once
 
 #include <setjmp.h>
 #include <kthread.h>
                     int curindex = 0;
 #define waserror() setjmp(&(errpush(errstack, ARRAY_SIZE(errstack), &curindex, \
                                                                        &prev_errbuf)->jmpbuf))
-#define error(e, x, ...)                                               \
-       do {                                                                            \
-               if (x != NULL)                                                                                                  \
-                       set_errstr(x, ##__VA_ARGS__);                                                           \
-               else                                                                                                                    \
-                       set_errstr(errno_to_string(e));                                                         \
-               set_errno(e);                                                                                                   \
+#define error(e, x, ...)                                                                                               \
+       do {                                                                                                                            \
+               set_error(e, x, ##__VA_ARGS__);                                                                 \
                longjmp(&get_cur_errbuf()->jmpbuf, 1);                                                  \
        } while(0)
 #define nexterror() longjmp(&(errpop(errstack, ARRAY_SIZE(errstack), &curindex, \
                                                                         prev_errbuf)->jmpbuf), 1)
 #define poperror() errpop(errstack, ARRAY_SIZE(errstack), &curindex,   \
                                                  prev_errbuf)
+/* Give Akaros people a hint that we need a real error message. */
+#define ERROR_FIXME "This space in %s@%d needs filling in.", __FILE__, __LINE__
 
 struct errbuf *errpush(struct errbuf *errstack, int stacksize, int *curindex,
                                                struct errbuf **prev_errbuf);
 struct errbuf *errpop(struct errbuf *errstack, int stacksize, int *curindex,
                                          struct errbuf *prev_errbuf);
-
-#endif /* ROS_KERN_ERR_H */