summaryrefslogtreecommitdiffstats
path: root/sys/posix4
diff options
context:
space:
mode:
authordufault <dufault@FreeBSD.org>1998-05-18 12:53:45 +0000
committerdufault <dufault@FreeBSD.org>1998-05-18 12:53:45 +0000
commit3620341ce9b1059b839e53c1dd529116f970a036 (patch)
tree4e4d73ef870c2317f328144b404185fe43a59c10 /sys/posix4
parentae01f21aeda17715d364ab633a05a417ec81ff0d (diff)
downloadFreeBSD-src-3620341ce9b1059b839e53c1dd529116f970a036.zip
FreeBSD-src-3620341ce9b1059b839e53c1dd529116f970a036.tar.gz
1. Don't use "nosys" and generate coredumps for unconfigured
system calls - return ENOSYS per the spec. 2. Fix interface stub to set priority properly.
Diffstat (limited to 'sys/posix4')
-rw-r--r--sys/posix4/ksched.c4
-rw-r--r--sys/posix4/p1003_1b.c10
2 files changed, 11 insertions, 3 deletions
diff --git a/sys/posix4/ksched.c b/sys/posix4/ksched.c
index fa66de5..20c5c57 100644
--- a/sys/posix4/ksched.c
+++ b/sys/posix4/ksched.c
@@ -161,7 +161,7 @@ int ksched_setscheduler(int *ret, struct ksched *ksched,
rtp.type = (policy == SCHED_FIFO)
? RTP_PRIO_FIFO : RTP_PRIO_REALTIME;
- rtp.prio = p4prio_to_rtpprio(RTP_PRIO_MAX);
+ rtp.prio = p4prio_to_rtpprio(param->sched_priority);
p->p_rtprio = rtp;
(void)resetpriority(p);
}
@@ -174,7 +174,7 @@ int ksched_setscheduler(int *ret, struct ksched *ksched,
case SCHED_OTHER:
{
rtp.type = RTP_PRIO_NORMAL;
- rtp.prio = p4prio_to_rtpprio(RTP_PRIO_MIN);
+ rtp.prio = p4prio_to_rtpprio(param->sched_priority);
p->p_rtprio = rtp;
/* XXX Simply revert to whatever we had for last
diff --git a/sys/posix4/p1003_1b.c b/sys/posix4/p1003_1b.c
index ccbee6b..c23d6a1 100644
--- a/sys/posix4/p1003_1b.c
+++ b/sys/posix4/p1003_1b.c
@@ -106,12 +106,20 @@ int p31b_proc(struct proc *p, pid_t pid, struct proc **pp)
return ret;
}
+/* The system calls return ENOSYS if an entry is called that is
+ * not run-time supported. I am also logging since some programs
+ * start to use this when they shouldn't. That will be removed if annoying.
+ */
int
syscall_not_present(struct proc *p, const char *s, struct nosys_args *uap)
{
log(LOG_ERR, "cmd %s pid %d tried to use non-present %s\n",
p->p_comm, p->p_pid, s);
- return nosys(p, uap);
+
+ /* a " return nosys(p, uap); " here causes a core dump.
+ */
+
+ return ENOSYS;
}
#if !defined(_KPOSIX_PRIORITY_SCHEDULING)
OpenPOWER on IntegriCloud