Commit Graph

37 Commits

Author SHA1 Message Date
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
jdolecek 01040d97a2 add e_path (emulation path) to struct emul, which replaces emulation-specific
*_emul_path variables

change macros CHECK_ALT_{CREAT|EXIST} to use that, 'root' doesn't need
to be passed explicitly any more and *_CHECK_ALT_{CREAT|EXIST} are removed
change explicit emul_find() calls in probe functions to get the emulation
path from the checked exec switch entry's emulation

remove no longer needed header files

add e_flags and e_syscall to struct emul; these are unsed and empty for now
2000-12-01 12:28:30 +00:00
mrg 705b50bf32 fix LP64 warnings. 2000-07-27 14:00:56 +00:00
augustss a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
matt 9fcf201409 Make this compile again on sparc. 1999-11-28 18:06:46 +00:00
christos d205cc9cd4 oops, forgot to include new files. 1999-09-07 18:20:18 +00:00
christos dcee031682 const poisoning and CHECK_ALT_CREAT fixes. 1999-02-09 20:46:40 +00:00
christos 7983ffaeef Don't play silly games with O_NON_BLOCK vs O_NDELAY.
Add O_RSYNC and O_DSYNC
1999-01-23 23:38:02 +00:00
christos 0c025c7e61 fix fdup2 implementation; it passes the file descriptor itself, not a pointer
to it in arg.
1998-10-04 16:19:50 +00:00
christos e1f16dd0c9 Assign copyrights to TNF; tv has copyrights on the remaining files...
It would be nice if he changed them (hint, hint)
1998-09-04 19:54:37 +00:00
thorpej 469eb58301 Fix pread64/pwrite64 wrt. argument translation. 1998-07-02 02:20:21 +00:00
thorpej dd0758a46a Oops, fix a couple of brain-o's. 1998-07-01 01:23:25 +00:00
thorpej 576184d528 Put pread64() and pwrite64() back in here, but just call the native
NetBSD system call with no argument translation.
1998-06-30 23:34:05 +00:00
thorpej f8fe385b78 Rewrite svr4_sys_pread() and svr4_sys_pwrite() in terms of the native
NetBSD pread(2) and pwrite(2).  These still require indirection because
the arguments need to be converted to the correct types.

Delete svr4_sys_pread64() and svr4_sys_pwrite64(), since the arguments
for these calls do not need conversion, and the syscall switch calls
the native NetBSD system calls directly.
1998-06-30 19:42:56 +00:00
sommerfe becaafeea0 defopt for options FIFO 1998-06-22 22:00:59 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
christos 09d37c93a5 Implement F_REVOKE, F_FREESP and all the 64 bit calls. 1997-10-28 18:55:56 +00:00
kleink 043c84ea94 Addendum to last commit: don't clobber the read/write byte count when
seeking back to the original offset.
1997-10-28 12:06:56 +00:00
kleink 4174920943 Per X/Open CAE Specification, Issue 5, change the semantics of pread(),
pread64(), pwrite(), pwrite64():
* The `offset' argument specifies an absolute offset within the file.
* After performing the read resp. write operation, restore the original
  offset within the file.
Also, change the argument structure used by svr4_sys_prwite64() to
svr4_sys_pwrite64_args, instead of the 32-bit offset version.
1997-10-27 11:45:57 +00:00
christos ee8b56d3e6 Add:
64 bit filesystem system calls
	socket system calls
	ntp system calls
1997-07-21 23:02:34 +00:00
christos 8e5e5d1667 Fix reverse test in O_NOCTTY; pointed out by Klaus Klein 1997-04-02 15:29:18 +00:00
christos 4fe8f4e95f PR/3354: From Michael Eriksson; I_SETSIG did not handle O_ASYNC properly
and we would never get asynchronous events back. This affected the java
SDK. Also GC O_RAIOSIG which was a Dell/SVR4'ism which is now RIP.
1997-03-18 18:57:19 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
christos a4e2f7532a - Added msgsys, shmsys and semsys... MITSHM needs shmsys, so X applications
that used that would fail.
- Propagated all the fixes from the fully prototyped kernel.
1995-10-14 20:24:14 +00:00
thorpej d0c7d0fdd6 Add missing F_SETLKW case to svr4_sys_fcntl(), from Niklas Hallqvist
<niklas@appli.se>.
1995-10-09 23:56:17 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
pk 23b15422dc svr4_fcntl: make uap point to argument. 1995-10-02 08:20:47 +00:00
thorpej eecd40e854 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:10:11 +00:00
christos d0169ce44a Use compat_util.[ch] 1995-06-24 20:29:17 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
mycroft 6332be8c7f Use __timeradd(), not timervaladd(). 1994-12-11 17:56:21 +00:00
christos 2859b1c634 Rework streams emulation so that it does not rely on non portable hacks.
We keep streams state in so->so_ptcb; this field is unused in all the kernel.
Fix poll(2) timeout computation; add hrtsys and waitsys syscalls.
1994-11-18 02:53:37 +00:00
christos 25ef6e1436 More functionality and bug fixes 1994-11-14 06:10:37 +00:00
christos f46f498d53 Changed code to KNF, removed global variable per cgd's request. 1994-10-29 00:43:14 +00:00
christos afffe1aaf8 Fixed Charles suggestions:
1. always do the stackgap_init()/CHECKALT first in syscalls that need it.
2. svr4_emul_find() uses malloc for the buf, does not use copyoutstr, but
   copyout().

Removed makesyscalls.sh; it was really old and we don't need a separate copy.
1994-10-26 11:58:24 +00:00
cgd 69d2deb545 new RCS ID format. 1994-10-26 05:27:43 +00:00
deraadt b415eb1d1d new from christos 1994-10-24 17:37:34 +00:00