John Dyson
d1a5be1064
A few minor mods (improvements) to support more efficient pipe
...
operations for large transfers. There are essentially no differences
for small transfers, but big transfers should perform about 20%
better.
1996-07-13 22:52:50 +00:00
Bruce Evans
3be8cc7800
Staticized some variables.
...
Fixed initialization of pipe_pgid - don't default to pid 0 (swapper) for
SIGIO.
Added comments about other implicit initializations, mostly for struct
stat.
Fixed initialization of st_mode. S_IFSOCK was for when pipes were sockets.
It is probably safe to fix the bogus S_ISFIFO() now that pipes can be
distinguished from sockets in all cases.
Don't return ENOSYS for inappropriate ioctls.
1996-07-12 08:14:58 +00:00
John Dyson
c44013cde6
Get rid of PIPE_NBIO, cleaning up the code a bit.
...
Reviewed by: bde
1996-07-04 04:36:56 +00:00
John Dyson
23fd45be00
Disable direct writes for non-blocking output.
1996-06-17 05:15:01 +00:00
Gary Palmer
c23670e294
Clean up -Wunused warnings.
...
Reviewed by: bde
1996-06-12 05:11:41 +00:00
John Dyson
d73ce5bd92
Various pipe error return fixes, and a significant typeo fix. From
...
Bruce Evans (of course :-)).
Submitted by: bde
1996-03-25 01:48:28 +00:00
John Dyson
7fe9c39bea
Yet another fix from BDE for the new pipe code. This fixes a potential
...
deadlock due to mismanagement of busy counters.
Reviewed by: dyson
Submitted by: bde
1996-03-17 04:52:10 +00:00
John Dyson
6e20683c9d
Fix a problem that select did not work with direct writes. Make
...
wakeup channels more consistant also.
1996-02-22 03:33:52 +00:00
Peter Wemm
add3bbdaef
Add missing prototype for pipeselwakeup (a recently added function) - gcc
...
bitches about it..
1996-02-17 14:47:16 +00:00
John Dyson
f3e79aa705
Add ifdefs for non-freebsd system usage. Add missing select wakeups,
...
and make the select wakup code a little neater.
1996-02-11 22:09:50 +00:00
John Dyson
5af564b4f4
Add some missing requests for the read-side to wakeup the write-side. Also
...
add some missing wakeups by the write side to the read side.
1996-02-09 04:36:36 +00:00
John Dyson
26d2f00960
Apparent fix for a pipe hang problem.
1996-02-07 06:41:56 +00:00
John Dyson
f29e1bd629
More fixes from bde.
...
Only modify times on success.
splhigh() around time variable usage.
Make atomic writes more posix compliant.
Spelling errors.
Submitted by: bde
1996-02-05 05:50:34 +00:00
John Dyson
96cc6b1011
Kva space allocated for direct buffer wasn't quite big enough. The
...
system can panic easily without this patch.
1996-02-05 05:17:15 +00:00
John Dyson
dca5129987
Changed vm_fault_quick in vm_machdep.c to be global. Needed for
...
new pipe code.
1996-02-04 22:09:12 +00:00
John Dyson
2834ceec7c
Improve the performance for pipe(2) again. Also include some
...
fixes for previous version of new pipes from Bruce Evans. This
new version:
Supports more properly the semantics of select (BDE).
Supports "OLD_PIPE" correctly (kern_descrip.c, BDE).
Eliminates incorrect EPIPE returns (bash 'pipe broken' messages.)
Much faster yet, currently tuned relatively conservatively -- but now
gives approx 50% more perf than the new pipes code did originally.
(That was about 50% more perf than the original BSD pipe code.)
Known bugs outstanding:
No support for async io (SIGIO). Will be included soon.
Next to do:
Merge support for FIFOs.
Submitted by: bde
1996-02-04 19:56:35 +00:00
John Dyson
4ab7a1a6c7
Fix another problem with the new pipe code, pointed out by Bruce Evans.
...
This one fixes a problem with interactions with signals.
1996-01-31 06:00:45 +00:00
John Dyson
56363b79a9
Fix some problems with return codes on the new pipe stuff. Bruce Evans
...
found the problems, and this commit will fix the "first batch" :-).
1996-01-31 02:05:12 +00:00
John Dyson
4fd00d508b
Fixed an uninitialized variable (argument to vm_map_find) -- problem
...
that DG detected, and promptly found a fix.
Submitted by: davidg
1996-01-29 02:57:33 +00:00
John Dyson
10c5615c1d
Added new files to support the new fast pipes. After the follow-on
...
commits, pipe performance should increase significantly. The pipe(2)
system call is currently supported, while fifofs will be added later.
1996-01-28 23:38:26 +00:00