Browse Prior Art Database

Names Variables (OS/2, WINDOWS AND AIX)

IP.com Disclosure Number: IPCOM000113331D
Original Publication Date: 1994-Aug-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 33K

Publishing Venue

IBM

Related People

Passman, A: AUTHOR [+2]

Abstract

OS/2*, Windows** and AIX* all allow shared libraries which can be called from multiple processes. However the way in which data items are handled in the different environments are not the same. OS/2 allows data items to be compiled to named segments which can be specified as multiple (each process gets a data item which is not shared with other processes) or single (data item is shared between processes). Windows allows only shared data items and AIX allows only data items that are not shared.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 94% of the total text.

Names Variables (OS/2, WINDOWS AND AIX)

      OS/2*, Windows** and AIX* all allow shared libraries which can
be called from multiple processes.  However the way in which data
items are handled in the different environments are not the same.
OS/2 allows data items to be compiled to named segments which can be
specified as multiple (each process gets a data item which is not
shared with other processes) or single (data item is shared between
processes).  Windows allows only shared data items and AIX allows
only data items that are not shared.

      It is desirable to write common code that can be compiled in
each of these environments that could take advantage of per-process
and cross-process data items.

      In an operating system specific layer calls were specified
which enabled a 'named' variable to be used, with calls to query, set
and delete named variables.  Code in higher levels could allocate
memory for data items and save them associated with a string.

      To take advantage of these calls for cross-process data code
goes something like:
   if (!query_named_variable("MY_CROSS_PROCESS_DATA", &value))
   {
       /* named variable has not been set this is the first process
*/
       /* allocate memory for data items and initialize it */
       value = allocate memory for cross-process data;
       set_named_variable("MY_CROSS_PROCESS_DATA", value);
   }

      For per-process data a string was generated incorpor...