Last updated at 9:48 pm UTC on 26 December 2007
AioPlugin V2.2.1, December 26, 2007
Contributed by Dave Lewis
AioPlugin provides support for asynchronous IO event notification. When an external IO event occurs, the event registration causes a Smalltalk semaphore to be signaled. A process can wait on this semaphore, thereby acting as an event handler for the external event. Currently this works with the Unix VM.
UnixAioPlugin implements the primitives that interact with the aio mechanism in the Unix VM. Other platform-specific subclasses could be written to provide a compatible aio mechanism for other platforms.
Changes in AIO 2.2.1 since 2.2:
- Return true from #initialiseModule. Corrects module loading problem on OS X PPC.
Development versions are maintained at http://www.squeaksource.com/AioPlugin/
Previous versions of AIO plugin:
AioPlugin V2.2 AioPluginV2-2.sar (December 20, 2007)
- Fixed error in parameter checking that caused intermittent problems in CommandShell unit tests when Unix file number equaled oop of nilObject.
AioPlugin V2.1.2 AioPluginV2-1-2.sar (April 2007)
Changes in AIO 2.1.2 since 2.0:
- Handle #platformName move to SmalltalkImage.
- Fix underscores. No functional changes.
- Eliminate some #cCode: calls, keep consistent with OSPP.
- Add #shouldBeTranslatedFor: to support VMM cross generation.
AioPlugin V2.0 AioPluginV2-0.sar (Sept 2005)
- Provide 64-bit compatibility. The AIO plugin now compiles and runs for both 32 bit and 64 bit Unix VMs and executes on 32 or 64 bit hardware.
- The AioEventHander has been removed from this package, and will be merged into all future versions of OSProcess.
AioPlugin V1.1 AioPluginV1-1.sar (September 2003)
AioEventHandler provides image side support for aio event notification. An AioEventHandler is an object that waits for an external IO event to occur, then sends #changed to itself. Any object that is interested in the external event can register itself as a dependent of the AioEventHandler, and take appropriate action whenever the external event occurs.
AioEventHanderExample demonstrate asynchronous read handers for file streams, OS pipes, standard input, and sockets. See class category 'examples'. Some examples require OSProcess.