Subject | OSRI Architecture, handles, and 64 Bit Machines |
---|---|
Author | Jim Starkey |
Post date | 2004-04-04T20:06:11Z |
Samofatov, Nickolay wrote:
has been defined as a 32 bit uninterpreted word. If a pointer happens
to fit in 32, an implementation is free to do so. An implementation is
not free to redefine the handle for the convenience of its developers.
A conforming implementation has not problem is the user defined his
handles as pointers. A non-conforming implementation with crash or
trash user's memory if it writes a 64 handle on a 32 bit word.
>There is no problem in having pointers as handles.This is a violation of the OSRI architecture. A handle is and always
>Handles are always translated to numeric values via lookup tables in
>REMOTE module and there is no dependency between client and server
>platforms, you can access 64-bit server from little- and big-endian
>32-bit or 64-bit machines without problems. Programs are easily portable
>to use 64-bit client library because API is also not changed.
>
>I prefer to avoid doing any API changes unless really necessary. 32-bit
>API handles may create some portability problems for Firebird users
>while offer no visible benefits.
>
has been defined as a 32 bit uninterpreted word. If a pointer happens
to fit in 32, an implementation is free to do so. An implementation is
not free to redefine the handle for the convenience of its developers.
A conforming implementation has not problem is the user defined his
handles as pointers. A non-conforming implementation with crash or
trash user's memory if it writes a 64 handle on a 32 bit word.