Commit Graph

38035 Commits

Author SHA1 Message Date
Matthew Flatt
d4742a0618 fix bytes-convert-end
The `bytes-convert-end` function didn't set up a proper decoding.
Make sure that it at least does nothing for encodings where
there's nothing to do.
2017-06-21 05:23:53 -06:00
Ben Greenman
a915433b02 doc: add tech link for box in 'immutable?' description 2017-06-21 01:47:01 -04:00
Matthew Flatt
d90976f865 rktio: repair to listen failure handling 2017-06-20 12:33:09 -06:00
Matthew Flatt
8094ef7a02 clarify free docs: don't use with malloc modes other than 'raw
Closes #1708
2017-06-20 11:59:26 -06:00
Matthew Flatt
d8fcbc7b56 remove incorrect claim about identifier-binding
It was true for the old macro system, but it isn't true now.

Closes #1485
2017-06-20 11:59:26 -06:00
Matthew Flatt
a7ab538403 fix timer handling in subprocess
This bug was introduced with the rktio conversion.
2017-06-20 11:57:43 -06:00
Matthew Flatt
a5b28c453a rktio: fix init of accepted socket 2017-06-20 09:06:06 -06:00
Matthew Flatt
20f1f146c7 raco exe: fix incorrect shortcut in submodule checking
Closes #1712
2017-06-20 08:28:54 -06:00
Matthew Flatt
51bf69e356 switch for/list back to a loop plus reverse
Closes #1721, which points out that the `for/list` expansion
introduced in commit 5e94a906cd interacts badly with a body
that captures a continuation plus Racket's current implemenation
of continuations.

When Racket one day gets a better implementation of continuations,
this change could be considered again, but the general question is
whether programs can detect or be affected by the size of the
continuation (when the programs don't directly control the
continuation creation --- otherwise continuation marks obviously
expose the size).
2017-06-20 08:28:53 -06:00
Matthew Flatt
23d2a4c58f restore scheme_fd exports
Provide a compatibility layer to bridge the old (not completely
documented) `scheme_fd` interface and rktio. The old interface is
used by the Gtk implementation of `racket/gui`, for example.
2017-06-19 18:30:21 -06:00
Matthew Flatt
9279b96d9e fix connection-failure error message 2017-06-19 11:06:26 -06:00
Matthew Flatt
9bf68adbb0 fix configure wrt places/futures vs. pthreads enabled state 2017-06-19 10:55:44 -06:00
Matthew Flatt
68f55f5b85 rktio: fix success check for connect 2017-06-19 09:47:10 -06:00
Matthew Flatt
54f16758a5 bump version number to reflect rktio refactoring 2017-06-19 06:45:54 -06:00
Matthew Flatt
19ee6d2a0c librktio: fix 32-bit Windows projects 2017-06-19 06:45:19 -06:00
Matthew Flatt
2e4518d08e rktio: makefile repair for --enable-racket= builds 2017-06-19 06:45:19 -06:00
Matthew Flatt
f741208b77 rktio: another Windows pipe repair 2017-06-19 06:45:19 -06:00
Matthew Flatt
cdf22f7cdd rktio: fix incorrect uses of errno
Using `errno` is not right for Winsock.
2017-06-19 06:45:19 -06:00
Matthew Flatt
8449470db4 rktio: restore early SIGCHLD blocking to support Linux
Process handling relies on SIGCHLD being blocked, but signals are
blocked per-thread in Linux, so SIGCHLD needs to be blocked before new
threads are created.
2017-06-19 06:45:19 -06:00
Matthew Flatt
8d857245a4 rktio: fix normalization of envvar names on Windows 2017-06-19 06:45:19 -06:00
Matthew Flatt
4250d51f08 rktio: more text-mode repairs 2017-06-19 06:45:18 -06:00
Matthew Flatt
b96fc45133 rktio: make append mode imply can-exist on Windows 2017-06-19 06:45:18 -06:00
Matthew Flatt
a13bfd25d0 rktio: reset non-blocking on sockets after dup
On Linux, is appears that duping a socket doesn't give the
new one the same non-blocking option as the original.
2017-06-19 06:45:18 -06:00
Matthew Flatt
c1416d07d6 rktio: fix Unix file copy to copy permissions 2017-06-19 06:45:18 -06:00
Matthew Flatt
60e85fcaf3 rktio: document 'replace and 'replace/truncate changes 2017-06-19 06:45:18 -06:00
Matthew Flatt
c0275b37d5 rktio: fix text mode (for Windows) 2017-06-19 06:45:18 -06:00
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