diff options
author | dufault <dufault@FreeBSD.org> | 1998-05-18 12:53:45 +0000 |
---|---|---|
committer | dufault <dufault@FreeBSD.org> | 1998-05-18 12:53:45 +0000 |
commit | 3620341ce9b1059b839e53c1dd529116f970a036 (patch) | |
tree | 4e4d73ef870c2317f328144b404185fe43a59c10 /sys/posix4 | |
parent | ae01f21aeda17715d364ab633a05a417ec81ff0d (diff) | |
download | FreeBSD-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.c | 4 | ||||
-rw-r--r-- | sys/posix4/p1003_1b.c | 10 |
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) |