Commit Graph

65 Commits

Author SHA1 Message Date
Matthew Flatt
24592f78fc ffi/unsafe/objc: add support for blocks
Also add some functions for manipualting classes and objects.
2015-09-04 08:31:52 -06:00
Matthew Flatt
545c14a9cf adjust some versions in history notes
Promote v6.2.0.x changes to v6.3, since they will not be in v6.2.1.
2015-07-30 14:49:31 -06:00
Matthew Flatt
ec6c88442d fix length-specifying form of _bytes to include room for nul 2015-07-16 07:10:36 -06:00
Matthew Flatt
290020c597 ffi/unsafe: add #:lock-name option to _fun and _cprocedure
While `#:in-original-place? #t` provides one way to serialize
foreign calls, it acts as a single lock and requires expensive
context switches. Using an explicit lock can be more efficient
for serializing calls across different places.

For example, running "plot.scrbl" takes 70 seconds on my machine
in the original place and using `#:lock-name` in any place,
while it took 162 seconds in a non-main place with Cairo+Pango
serialization via `#:in-original-place? #t`.

Internally, the named lock combines compare-and-swap with a
place channel. That strategy gives good performance in the case
of no contention, and it cooperates properly with the Racket
scheduler where there is contention.
2015-06-25 10:35:22 +08:00
Matthew Flatt
e1e89adf62 adjust Active-X example to work with newer IE 2015-06-05 09:15:25 -06:00
Alexis King
b450aa8af6 Fix typo in ffi COM docs 2015-05-13 11:02:14 -04:00
Matthew Flatt
d6b587288a Adjust "6.2.0.2" history notes to just "6.2"
Due to our release process, these changes will be included in v6.2
after all.

Merge to v6.2
2015-04-28 15:36:04 -06:00
Matthew Flatt
cae162685f make _hfun retry automatically
Extend `_hfun` to allow specified exceptions through, and
use it consistently for anything that returns an HRESULT
and might need a retry.
2015-03-27 15:19:19 -06:00
Matthew Flatt
3a75630ea4 add COM enumeration support 2015-03-27 14:43:44 -06:00
Matthew Flatt
d22082f7e5 add #:retry option to _fun 2015-03-27 13:03:20 -06:00
Matthew Flatt
d747f8f806 require a #:offset keyword before a field offset in define-cstruct
Also, allow `#:offset` specifications on individual fields, instead
of all or node.
2015-02-14 18:40:20 -07:00
Matthew Flatt
c5d09957ba ffi/unsafe/nsstring docs: fix C type description
The `_NSString` type corresponds to a reference, which is
an `NSString*`.
2015-01-02 18:44:05 -07:00
Ryan Culpepper
6039d6cc0b added register-finalizer-and-custodian-shutdown 2014-12-12 00:25:31 -05:00
Matthew Flatt
542f5fd3d2 ffi/unsafe/custodian: doc clarifications 2014-12-09 09:10:35 -07:00
Matthew Flatt
2d4f3e2ac9 remove the "racket-pkgs" directory layer
The layer is now redundant, since everything left in "pkgs" is in the
"racket-pkgs" category.
2014-12-08 05:22:59 -07:00