Browse Prior Art Database

Non-blocking I/O Using Threads and AIX

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

Publishing Venue

IBM

Related People

Behrs, JR: AUTHOR

Abstract

Disclosed is a Process object that prevents process blocking under AIX* when a thread initiates an AIX I/O operation. By using the Process object to perform AIX I/O, the thread requesting the AIX I/O operation is temporarily blocked until I/O completion, but other threads continue to execute concurrently.

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

Non-blocking I/O Using Threads and AIX

      Disclosed is a Process object that prevents process blocking
under AIX* when a thread initiates an AIX I/O operation.  By using
the Process object to perform AIX I/O, the thread requesting the AIX
I/O operation is temporarily blocked until I/O completion, but other
threads continue to execute concurrently.

The Process object contains the following function members:
  o  start(): start the process running
  o  wait(): wait for the process to complete
  and the following data members:
  o  process_id: AIX process id that identifies this Process object.
  A thread that initiates AIX I/O:
  o  Creates an instance of Process object.
  o  Loads the Process object with the data needed to execute
      the I/O operation.
  o  Invokes the start method of the Process object.  This "forks"
      the currently running process, thereby creating a second
running
      process ("the forked process") that executes the I/O operation
      independently of the first process.  The forked process can
      execute the I/O operation directly by invoking AIX I/O calls
      (i.e., "write") or using the "exec" call to overlay itself with
      another program.
  o  Invokes the wait method of the Process object.  This causes the
      calling thread to wait for the forked process to terminate.
The
      wait method puts the calling thread to sleep by executing a
      thread wait...