Philip McGrath
fe563735be
ffi/unsafe/alloc: handle keyword arguments
...
closes https://github.com/racket/racket/issues/2484
2019-02-20 16:29:28 -07:00
Paulo Matos
be054f6149
free buf to avoid memory leak
2019-02-20 16:27:58 -07:00
Paulo Matos
f75c641bb8
Fix typo in ffi docs
2019-02-20 16:26:14 -07:00
Paulo Matos
490105ed53
Remove dead store for rator
2019-02-20 16:25:38 -07:00
Paulo Matos
10d721eaea
Remove dead store for did_alt
2019-02-20 16:24:45 -07:00
Paulo Matos
7e856b3b4d
Remove dead assignment to buf which also causes leak
2019-02-20 16:23:30 -07:00
Paulo Matos
671611e992
Remove dead store for closure_size
2019-02-20 16:22:24 -07:00
Ben Greenman
6bd54d24a4
typo: 'by precede it'
...
Closes #2499
2019-02-20 12:17:15 -05:00
Ryan Culpepper
d185257a75
add unsafe-poll-fd, unsafe-fd->evt ( #2414 )
...
The unsafe-fd->evt interface is based on unsafe-{file-descriptor,socket}->semaphore.
The main differences are that these events are level-triggered, not edge-triggered, and
they do not cooperate with ports created by unsafe-{file-descriptor,socket}->port.
2019-02-20 13:53:11 +01:00
Ryan Culpepper
abb1ce71cc
update expr/c, wrap-expr/c tests for contract message change
2019-02-19 15:09:51 +01:00
Paulo Matos
166c97ecea
Fix missing parens
...
There's a paren mismatch introduced by a previous commit
2019-02-19 11:22:54 +01:00
Gustavo Massaccesi
5c1b1bf8cf
fix with-syntax* when it has no patterns
...
This also fix define-inline for 0-arity functions.
2019-02-18 20:07:45 -03:00
Gustavo Massaccesi
3c4f160346
make file-stream-port? and terminal-port? total
2019-02-18 20:07:19 -03:00
Matthew Flatt
66f7e0c3e3
cs: fix slowness in set!
, vector, and box operations
2019-02-18 11:59:28 -07:00
pedagand
cb8fde7a9e
Fix typo
...
`tmp` does not need to be alpha-renamed in this case.
2019-02-17 07:25:18 -07:00
Ryan Kramer
d8eb9640ec
restate that #f indicates the default readtable
2019-02-17 07:22:26 -07:00
Matthew Flatt
f14d7e06bb
Make noreturn attribute valid only for GNUC implementations
...
.. with an `exit` call to make the declaration clearly true to the
compiler.
2019-02-17 07:14:34 -07:00
Matthew Flatt
6117d8aff4
Revert "Make noreturn attribute valid only for GNUC implementations"
...
This reverts commit d033dd1ed2
.
2019-02-17 07:09:48 -07:00
Paulo Matos
0124210b0b
Avoid conn memory leak if try_connect fails ( #2481 )
2019-02-17 07:04:32 -07:00
Paulo Matos
41b282d3ae
Merge pull request #2480 from LinkiTools/pmatos-clanganal-9
...
Avoid memcpy from null pointer in do_inotify_add
2019-02-17 07:04:06 -07:00
Paulo Matos
d033dd1ed2
Make noreturn attribute valid only for GNUC implementations
2019-02-17 07:03:46 -07:00
Paulo Matos
3e301d22b5
Mark scheme_raise_exn as noreturn - regenerate schemex
...
scheme_raise_exn raises an exception and doesn't return.
Static analysis tools find a huge amount of problems with regards
to memory leaks that are actually false positives because the tools
are not aware the function does not return. Marking it as such aids
further inspection of real problems.
2019-02-17 07:03:46 -07:00
Matthew Flatt
0567527be4
io: fix unsafe-poller
...
When asking a poller to register wakup events, handle an
"event is ready" response by canceling the sleep.
Closes #2482
2019-02-16 19:35:01 -07:00
Ryan Culpepper
edeae791ab
syntax/parse: fix #:attr-name-separator, used by honu macros
2019-02-15 12:25:10 +01:00
Matthew Flatt
30e260835f
fix \D, \S, \W in string regexp
...
The documentation and implementation were confused about whether \D,
\S, and \W match non-ASCII characters. Now they do. The new regexp
implementation (as used in Racket CS) already matched them.
2019-02-14 11:50:58 -07:00
Paulo Matos
f4c48dd9b5
Assigned value at initialization is never read
...
Assigning variable instead to NULL.
2019-02-14 08:11:50 -08:00
Paulo Matos
5ea27fc972
Remove unused variable did
...
Used to be useful but now it's no longer the case.
2019-02-14 08:10:24 -08:00
Paulo Matos
1722e49c85
Remove dead code
...
I understand what the idea is in this file, except this code won't
work like the author expected it to. Variables marked for wiping won't
be wiped unless they are marked as volatile. The compiler will simply
remove the code wiping the variables and issue a warning, which is
what brought me to look into this code in the first place.
2019-02-14 08:09:26 -08:00
Paulo Matos
136ea767e2
Free memory stored when error occurs - otherwise buffer leaks
2019-02-14 08:08:27 -08:00
Paulo Matos
14499aa822
Free buffer in case of unknown error - avoids memory leak
2019-02-14 08:07:49 -08:00
Paulo Matos
4014b066d1
Remove assignment - value stored to cpos is never read
2019-02-14 08:06:39 -08:00
Paulo Matos
04e6422c72
Ensure copied is not overwritten by another strdup causing a leak
2019-02-14 08:04:38 -08:00
Matthew Flatt
e7e9d02c9e
native-libs: patches to adjust Pango font-face matching
2019-02-14 08:57:51 -07:00
Matthew Flatt
ecf3766d96
io: reduce overhead on display
and write-bytes
2019-02-13 16:18:22 -07:00
Matthew Flatt
17c46c9c36
io: fix file and TCP ports as place messages
2019-02-13 10:48:55 -07:00
Matthew Flatt
a4bd83011b
io: fix result of file-stream-port?
2019-02-13 10:41:12 -07:00
Matthew Flatt
5339a36187
io: fix file-stream-buffer-mode
on file output ports
2019-02-13 10:20:04 -07:00
Matthew Flatt
c2d53143c1
io: improve syntax of internal class forms
2019-02-13 10:08:58 -07:00
Matthew Flatt
d197e1b8f4
io: adjust read-[bytes-]line
to use direct buffer
2019-02-13 10:08:58 -07:00
Matthew Flatt
e266da929d
io: fix pipe slow path and GC
...
Make the slow path faster by reducing input- and output-end
coordination. Also, avoid retaining one end just because the other end
is retained.
This change involves adding an indirection for the fast-path buffers
so that management for both ends of a pipe can be centralized
independent of the ports.
2019-02-13 10:08:58 -07:00
Matthew Flatt
f0aa8573fe
io: repair some buffer + counting interactions
2019-02-13 10:08:58 -07:00
Matthew Flatt
6fb4097fef
io: make fd-output-port use the fast path
2019-02-13 10:08:58 -07:00
Matthew Flatt
45347465df
io: add output fast path
...
Add a fast path for output that is like input, based on a exposed
buffer. Make bytes-output-port and pipe use it.
2019-02-13 10:08:58 -07:00
Matthew Flatt
d6af78cebd
io: convert tcp-{input,output}-port to object style
2019-02-13 10:08:58 -07:00
Matthew Flatt
01d53378b2
io: partial streamline of fd ports
...
Further improvements to move away from the `data` field.
2019-02-13 10:08:58 -07:00
Matthew Flatt
a382c6ca72
io: clean up unneeded scaffolding
...
Everything is converted, so we don't need the scaffolding anymore.
2019-02-13 10:08:58 -07:00
Matthew Flatt
40f27f8153
io: convert make-output-port to object style
2019-02-13 10:08:58 -07:00
Matthew Flatt
c57b52eb70
io: convert make-input-port to object style
...
Sortof. This is where we especially take advantage of vtable
flexibility. The methods of the vtable are really closures,
because that's far more convenient for custom ports.
2019-02-13 10:08:58 -07:00
Matthew Flatt
6e85165b3c
io: convert fd-output-port to object style
2019-02-13 10:08:58 -07:00
Matthew Flatt
c28a0f45dc
io: (mostly) keep fast path when line counting is enabled
2019-02-13 10:08:58 -07:00