sperber
35f1ddd533
Split scsh code into lots of modules.
...
Note that this change doesn't represent any sort of design suggestion
or decision: It merely represents an attempt to codify the
dependencies between the parts of the code base. There's still lots
of work to be done to actually make user-accessible modules.
2003-04-28 08:33:46 +00:00
mainzelm
cc3f5b07bc
Fixed typo in error message.
2003-03-03 09:43:17 +00:00
sperber
00e8147657
I did it again:
...
only multiply timeout by 1000 if it's a number.
2003-01-14 13:21:31 +00:00
sperber
32953f94c0
It had to happen: the first post-0.6.3 bug fix.
...
The SELECT* operations take a timeout argument, specified to be in
seconds. Instead, they took milliseconds. Fix this.
2003-01-13 16:52:26 +00:00
mainzelm
7fb1d585b2
Set bufpol/none for current-input-port.
2003-01-07 16:01:14 +00:00
mainzelm
2a352215df
Clarifications and fixes for set-port-buffering.
2003-01-07 13:35:54 +00:00
mainzelm
e47611a0ae
+ Check arguments of select-ports/port-channels
...
+ Fix typo in really-select-port-channels
2002-12-06 12:53:55 +00:00
sperber
923ada9986
Added SELECT-PORT-CHANNELS.
2002-11-28 14:31:57 +00:00
sperber
b01518b4d9
Rename WAIT-PORTS to SELECT-PORTS.
2002-11-28 14:15:34 +00:00
sperber
a6ec3b5bb5
Add WAIT-PORTS.
2002-11-28 10:42:09 +00:00
mainzelm
c3d776a279
Removed superfluous saving of s48 ports. They are no longer imported anyway.
2002-11-27 07:37:23 +00:00
sperber
883117ae06
Change SELECT! in the same way as SELECT: only ask the buffers of
...
ports that were passed in, not those of raw file descriptors.
2002-11-12 14:26:02 +00:00
sperber
a206e4f70a
Change the semantics of select so that it doesn't check the underlying
...
port buffer for fdes arguments.
2002-11-12 13:13:27 +00:00
sperber
d0977ea4d4
Revamped the SELECT implementation to properly distinguish between
...
input and output port. Also, SELECT and SELECT! are no longer
squashed into one silly procedure.
2002-10-30 12:00:15 +00:00
mainzelm
5b001c5720
Convert optional timeout argument before calling wait-for-channels.
2002-09-17 21:24:04 +00:00
sperber
33c14d7901
First stab at implementing SELECT/SELECT!:
...
- extend the VM interrupts to distinguish between read and write
events
- add new ADD-PENDING-CHANNEL instruction to the VM
- add WAIT-FOR-CHANNELS procedure to the run-time system
- implement SELECT and SELECT! on top of that in newports.scm
This runs some basic tests, but in general should be considered
largely untested.
Moreover, SELECT/SELECT! never detect any exceptional conditions---the
returned vectors are always empty. This is because the VM doesn't
really track those, and it's unclear whether it would be worth the
effort.
2002-08-20 14:03:01 +00:00
sperber
09db2fed71
Remove a bunch of crud from utilities.scm as well as the dependencies
...
upon that crud.
2002-08-14 14:45:33 +00:00
mainzelm
4e5b87209d
Added ignore-port-locks? flag to output-port-forcers and use it in
...
flush-all-ports-no-threads.
2002-06-26 11:25:33 +00:00
mainzelm
021cd1efc1
+ Let WITH-HANDLER take care of the resource lock.
...
+ Removed some duplicate alignments of process resources and moved
other closer the the actual system call
2002-05-15 17:05:02 +00:00
sperber
a7517a3f05
Add record discloser for FDPORT-DATA.
2002-02-26 14:40:59 +00:00
mainzelm
45305e7555
Set-cloexec to #t for unrevealed ports.
2002-02-26 08:42:56 +00:00
sperber
380fee6612
Make FLUSH-ALL-PORTS blocking so FORK will do something more sensible.
...
Previously,
(begin
(display "ha!") (newline)
(fork (lambda ()
'foo)))
would print "ha!" twice because FLUSH-ALL-PORTS would not finish
before the actual FORK.
2002-02-25 20:29:15 +00:00
mainzelm
4efe1a4cd8
+ Use S48's nonblocking facility to flush the ports
...
+ Deleted bogus select implementation
2002-02-21 06:55:37 +00:00
mainzelm
36c5c82ec3
Added forgotten with-error-output-port stuff.
2002-02-14 13:30:53 +00:00
mainzelm
5aeb88d72e
Derelease bufpol/line
2002-01-03 10:23:19 +00:00
mainzelm
2fa5e3f693
Flush only the open ports.
2001-12-07 09:59:13 +00:00
mainzelm
abf7c53cc5
Added channel->port.
2001-11-27 11:08:30 +00:00
mainzelm
b5190d9c71
Avoid duplicate closing of fds that correspond to ports.
2001-10-03 17:09:15 +00:00
mainzelm
c47a141356
Let current-noise-port default to current-error port.
...
You won't get warnings from the type-checker or the modul system otherwise...
2001-09-12 15:11:42 +00:00
mainzelm
006c551429
+ Decigged syscalls, sleep
...
+ Modified operations that work on file descriptors to allocate appropriate
buffered ports.
2001-09-07 16:05:31 +00:00
mainzelm
75fa4c1852
With-umask-align for the rest of the syscalls.
2001-07-10 14:52:57 +00:00
mainzelm
4351c22d9f
+ Added a simple version of weak-tables. Only tail weak for now.
...
+ Replaced forgotten vector-ref in newports.scm
2001-07-07 19:29:29 +00:00
mainzelm
921ecb9320
Use a weak integer-table to store the fdports dropping the limit on
...
the number of ports (fixes #433867 ).
2001-06-21 08:30:51 +00:00
mainzelm
384c28fab4
Hand out the port and not just port-data to the handler.
2001-04-09 07:55:50 +00:00
mainzelm
5b8818ffef
Fixed 2 typos
2001-03-25 17:14:32 +00:00
mainzelm
9b4bb8a19d
Adapted some of Richard's changes for char-ready? and output-port-ready?.
2001-03-23 10:59:07 +00:00
marting
ea5725436e
Added several cwd-aligns. with-env usees with-lock. Some corrections
...
to getenv.
2000-06-28 10:27:34 +00:00
marting
68138a2b58
removed bufpol/line for input, replaced code-vector by byte-vector
1999-11-02 22:41:05 +00:00
marting
4ca964b9ea
added set-port-buffering. Supports gentle buffer draining and a slightly limited bufpol/line. Code looks quite ugly, but I think that's inherent...
1999-10-22 21:35:54 +00:00
marting
734daac16f
Added fake set-port-buffering which produces a warning
...
Added error-output-port, but not yet as deprecated-proc
set $current-noise-port to null-output
%move-fdport now returns #f on success, just like 0.5.1
1999-10-08 16:43:39 +00:00
marting
26447c1d1a
added channel-cell-ref to newports for the changed design in rts/channel-port.s, vm starts from dumped image now
1999-09-24 23:52:32 +00:00
marting
09136048ae
Added files from david fishers home (~dfisher/scsh-0.5.1).
...
Be warned: the scsh-version he started from was neither 0.5.1 nor
0.5.2, but something in between !
1999-09-14 13:32:05 +00:00