Subject: Re: rendrib (Linux) aborts with "Bad system call"
To: None <bsieker@techfak.uni-bielefeld.de>
From: None <drochner@zel459.zel.kfa-juelich.de>
List: port-i386
Date: 01/31/1999 13:48:20
bsieker@techfak.uni-bielefeld.de said:
> What irritates me is that there is a nanosleep man page, and the
> message seems to indicate that the kernel knows about the nanosleep
> function, but it is not (yet?) implemented.
It is implemented as NetBSD syscall, only the Linux emulation
does not know that it has to be called as Linux syscall #162.
A fix could be as easy as:
Index: syscalls.master
===================================================================
RCS file: /cvsroot/src/sys/compat/linux/Attic/syscalls.master,v
retrieving revision 1.21
diff -c -r1.21 syscalls.master
*** syscalls.master 1997/10/16 23:53:07 1.21
--- syscalls.master 1999/01/31 12:44:20
***************
*** 253,258 ****
159 UNIMPL sched_get_priority_max
160 UNIMPL sched_get_priority_min
161 UNIMPL sched_rr_get_interval
! 162 UNIMPL nanosleep
163 STD { void *linux_sys_mremap(void *old_address, \
size_t old_size, size_t new_size, u_long flags); }
--- 253,259 ----
159 UNIMPL sched_get_priority_max
160 UNIMPL sched_get_priority_min
161 UNIMPL sched_rr_get_interval
! 162 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
! struct timespec *rmtp); }
163 STD { void *linux_sys_mremap(void *old_address, \
size_t old_size, size_t new_size, u_long flags); }
Then run "make" in sys/compat/linux and recompile the kernel.
best regards
Matthias