/* exit(2) */
static inline abi_long do_bsd_exit(void *cpu_env, abi_long arg1)
{
-#ifdef TARGET_GPROF
- _mcleanup();
-#endif
gdb_exit(arg1);
qemu_plugin_user_exit();
_exit(arg1);
return -TARGET_ENOSYS;
}
+/* getpriority(2) */
+static inline abi_long do_bsd_getpriority(abi_long which, abi_long who)
+{
+ abi_long ret;
+ /*
+ * Note that negative values are valid for getpriority, so we must
+ * differentiate based on errno settings.
+ */
+ errno = 0;
+ ret = getpriority(which, who);
+ if (ret == -1 && errno != 0) {
+ return -host_to_target_errno(errno);
+ }
+
+ return ret;
+}
+
+/* setpriority(2) */
+static inline abi_long do_bsd_setpriority(abi_long which, abi_long who,
+ abi_long prio)
+{
+ return get_errno(setpriority(which, who, prio));
+}
+
#endif /* !BSD_PROC_H_ */