Commit Graph

38209 Commits

Author SHA1 Message Date
Matthew Flatt
20e23902ba rktio: simplify Windoes 98 pipe writer
This code is unlikely to get used, but make sure it runs just
in case Racket otherwise works on Windows 95/98.
2017-06-19 06:45:18 -06:00
Matthew Flatt
dacdf64f59 rktio: fix eventmask handling (for Windows) 2017-06-19 06:45:18 -06:00
Matthew Flatt
36ca1361d9 rktio: normalize 'replace and 'truncate/replace behavior
For `open-output-file`:

Move 'replace mode handling out of rktio and into the client.
Formerly, on Windows, 'replace mode was just 'truncate with a fallback
for permission problems, so this change makes it delete an existing
file and replace it, which is more consistent with how 'replace has
always worked on Unix.

In 'truncate/replace mode, if a truncating open fails due to a
permission error and the file exists, then try again as a 'replace.
That's how it worked on Windows before, and now it's how Unix works.
2017-06-19 06:45:18 -06:00
Matthew Flatt
5d68ec297a rktio: repair for Windows fs-change
Also, add stress mode to rktio demo.
2017-06-19 06:45:18 -06:00
Matthew Flatt
ffc749f29e rktio: repairs for Windows 2017-06-19 06:45:18 -06:00
Matthew Flatt
6123b31064 rktio: fix non-Windows date timezone 2017-06-19 06:45:18 -06:00
Matthew Flatt
193e6cb518 librktio: more Windoes fixes
Now passes rktio tests and builds Racket 3m, but crashes with places.
2017-06-19 06:45:18 -06:00
Matthew Flatt
1e0a55cc8f rktio: repairs for Windows
Might break other systems...
2017-06-19 06:45:18 -06:00
Matthew Flatt
773050805b rktio: switch demo to use rktio_pipe 2017-06-19 06:45:18 -06:00
Matthew Flatt
e445051790 rktio: update some source notes 2017-06-19 06:45:18 -06:00
Matthew Flatt
38a5e7aacd rktio: repairs for SOME_FDS_ARE_NOT_SELECTABLE
... as set for Solaris, but no idea whether it's
still needed there.
2017-06-19 06:45:18 -06:00
Matthew Flatt
7fe2c1cadf rktio: repair for --enable-shared 2017-06-19 06:45:18 -06:00
Matthew Flatt
a3725374ca rktio: repair for UDP disconnect 2017-06-19 06:45:18 -06:00
Matthew Flatt
58f463ee1d rktio: repairs for non-places, non-futures build 2017-06-19 06:45:18 -06:00
Matthew Flatt
46908c377c rktio: fix MinGW compilation 2017-06-19 06:45:18 -06:00
Matthew Flatt
c02eacd5d2 rktio: repairs to kqueue-based fs-change events 2017-06-19 06:45:18 -06:00
Matthew Flatt
a1cf37eb0f rktio: repairs 2017-06-19 06:45:18 -06:00
Matthew Flatt
d34fcc31db rktio: repairs for various configurations 2017-06-19 06:45:18 -06:00
Matthew Flatt
35d47f89f6 rktio: repairs for Linux 2017-06-19 06:45:18 -06:00
Matthew Flatt
8a426eb086 rktio: configure fixes 2017-06-19 06:45:18 -06:00
Matthew Flatt
dff32444ea rktio: remove migrated configure elements 2017-06-19 06:45:18 -06:00
Matthew Flatt
d72a04285d rktio: remove obsolete preprocessor definitions
Many have moved to rktio, and others became irrelevant
over the decades.
2017-06-19 06:45:17 -06:00
Matthew Flatt
c4b3b19c1e rktio: repairs
All tests now pass for MacOS.
2017-06-19 06:45:17 -06:00
Matthew Flatt
463862d793 rktio: repairs
More tests pass.
2017-06-19 06:45:17 -06:00
Matthew Flatt
99c3643033 rktio: repairs
Builds and starts on MacOS.
2017-06-19 06:45:17 -06:00
Matthew Flatt
f0a644990c rktio: repairs
Compiles ons MacOS, but doesn't quite link.
2017-06-19 06:45:17 -06:00
Matthew Flatt
93834adc99 rktio: move udp over to rktio
Still doesn't work...
2017-06-19 06:45:17 -06:00
Matthew Flatt
2b439fc554 rktio: most of switch to rktio fd
Doesn't work, yet...
2017-06-19 06:45:17 -06:00
Matthew Flatt
63505d3e16 rktio: switch to rktio envvars 2017-06-19 06:45:17 -06:00
Matthew Flatt
49e30ea6fb rktio: better file size and timestamp types 2017-06-19 06:45:17 -06:00
Matthew Flatt
d9d8c7758d rktio: fix MzCOM projects 2017-06-19 06:45:17 -06:00
Matthew Flatt
2d21523b2d rktio: fixes for Windows build 2017-06-19 06:45:17 -06:00
Matthew Flatt
75e835351a rktio: add MSVC projects 2017-06-19 06:45:17 -06:00
Matthew Flatt
6e06329c61 rktio: fix scheme_os_getcwd() wrapper 2017-06-19 06:45:17 -06:00
Matthew Flatt
0402075f2b rktio: repairs to file & directory operations 2017-06-19 06:45:17 -06:00
Matthew Flatt
6268cd7ce9 rktio: switch file & directory operations to rktio 2017-06-19 06:45:17 -06:00
Matthew Flatt
425fe36fa5 rktio: initial import of librktio to racket 2017-06-19 06:45:16 -06:00
Matthew Flatt
636b1637b4 rktio: add date & time 2017-06-19 06:45:16 -06:00
Matthew Flatt
c006e951f4 rktio: add file locking 2017-06-19 06:45:16 -06:00
Matthew Flatt
03c3655b1f rktio: more repairs exposed by warnings 2017-06-19 06:45:16 -06:00
Matthew Flatt
2f5797f1d5 rktio: use -Wall and fix warnings 2017-06-19 06:45:16 -06:00
Matthew Flatt
a929c58712 rktio: compiles for Windows using MinGW 2017-06-19 06:45:16 -06:00
Matthew Flatt
9bfaaf3ab3 rktio: wide-string handling for Windows 2017-06-19 06:45:16 -06:00
Matthew Flatt
4ffb01c6fa rktio: more configure for rktio 2017-06-19 06:45:16 -06:00
Matthew Flatt
2187e77e65 rktio: add filesystem-change events 2017-06-19 06:45:16 -06:00
Matthew Flatt
19776f6bb9 rktio: fix some leaks 2017-06-19 06:45:16 -06:00
Matthew Flatt
b5e88e70c2 rktio: environment variables 2017-06-19 06:45:16 -06:00
Matthew Flatt
a767ea38fc rktio: improve organization 2017-06-19 06:45:16 -06:00
Matthew Flatt
c5ddf79721 rktio: small repairs 2017-06-19 06:45:16 -06:00
Matthew Flatt
9e68886b26 rktio: processes 2017-06-19 06:45:16 -06:00