5.12 Process-Wide and Place-Wide Registration

► |  | The Racket Foreign Interface

1 | Overview
2 | Loading Foreign Libraries
3 | C Types
4 | Pointer Functions
5 | Derived Utilities
6 | Miscellaneous Support
7 | Unexported Primitive Functions
| Bibliography
| Index

▼ | 5 | Derived Utilities

5.1 | Safe Homogenous Vectors
5.2 | Safe C Vectors
5.3 | Tagged C Pointer Types
5.4 | Serializable C Struct Types
5.5 | Defining Bindings
5.6 | Allocation and Finalization
5.7 | Custodian Shutdown Registration
5.8 | Atomic Execution
5.9 | Speculatively Atomic Execution
5.10 | Thread Scheduling
5.11 | Ports
5.12 | Process-Wide and Place-Wide Registration
5.13 | Operating System Threads
5.14 | Garbage Collection Callbacks
5.15 | Objective-C FFI
5.16 | Cocoa Foundation
5.17 | COM (Common Object Model)
5.18 | File Security-Guard Checks
5.19 | Windows API Helpers

On this page:

register-process-global
get-place-table-global

top ← prev up next →

#### 5.12`` Process-Wide and Place-Wide Registration

(require ffi/unsafe/global) | package: base

The ffi/unsafe/global library provides a utility registering information that is local to a place or spans all places in the Racket process.

Added in version 6.9.0.5 of package base.

> procedure (register-process-global key val) → cpointer?
> key : bytes?
> val : cpointer?

Gets or sets a value in a process-global table (i.e., shared across multiple places, if any).

If val is #f, the current mapping for key is reported.

If val is not #f, and no value has been installed for key, then the value is installed and #f is returned. If a value has already been installed, then no new value is installed and the old value is returned. The given val must not refer to garbage-collected memory.

This function is intended for infrequent use with a small number of keys.

> procedure (get-place-table-global) → hash?

Returns a place-specific, mutable, eq?-based hash table. The result is always the same for a particular place.

Added in version 6.11.0.6 of package base.

top ← prev up next →