Sybase Technical Library - Product Manuals Home
[Search Forms] [Previous Section with Hits] [Next Section with Hits] [Clear Search] Expand Search

Completions [Table of Contents] Layered applications

Open Client Client-Library/C Reference Manual

[-] Chapter 2 Topics
[-] Asynchronous programming
[-] Client-Library's interrupt-level memory requirements

Client-Library's interrupt-level memory requirements

On operating systems where Client-Library uses signal-driven I/O, such as UNIX-based systems and Digital OpenVMS VAX, fully asynchronous applications must provide a way for Client-Library to satisfy its interrupt-level memory requirements.

Ordinarily, Client-Library routines satisfy their memory requirements by calling malloc. However, not all implementations of malloc are safely called at the interrupt level. For this reason, fully asynchronous applications are required to provide an alternate way for Client-Library to satisfy its memory requirements.

Client-Library provides two mechanisms by which an asynchronous application satisfies Client-Library's memory requirements:

On platforms that use signal-driven I/O, Client-Library's behavior is undefined if a fully asynchronous application fails to provide a safe way for Client-Library to satisfy memory requirements.

Client-Library attempts to satisfy memory requirements from the following sources in the following order:

  1. Memory pool

  2. User-supplied allocation and free routines

  3. System routines


Completions [Table of Contents] Layered applications