![]() |
![]() |
![]() |
![]() |
![]() |
Annex 4: Integration for Solaris
Introduction
This annex describes briefly the Solaris model and primitives used in the SDL Suite Solaris tight integration. The presentation is focused on the differences from the general model described earlier in this chapter.
One section describes how to set up and run a simple test example for a tight integration.
Principles
This integration has been developed using cc:WorkShop Compilers 4.2 with Solaris 2.6 running on a workstation.
The main differences between the Solaris integration and the general model are:
- In the file sctsolaris.h, the macros which contain the Solaris specific function calls are implemented. The file sctsolaris.c contains the Solaris integration specific functions.
- The Solaris integration is fully POSIX compliant. SDL processes are mapped to POSIX threads using the pthread_create() function and POSIX queues are created for each thread using mq_open(). The threads are suspended when its corresponding queue is empty.
Running the Test Example: Simple
The source file and examples for RTOS Integrations are not included in the standard delivery. They are available as free downloads from the IBM Rational Support web site.
Prerequisites
This test example is developed as a Solaris 2.6 application on a workstation. The makefile and compilation switches are set up for the application to run under Solaris 2.6 using the cc:WorkShop Compilers 4.2 compiler.
Light Integration
Limitations for the Light Integration
Building a Light Integration
Please see the Building and Running a Light Integration for instructions.
Tight Integration
Limitations for the Tight Integration
Please read the Release Guide for details about limitations that apply to all systems using Tight Integration.
Building a Tight Integration
Please see the Building and Running a Tight Integration for instructions.
Compiler Flags
The following defines (#ifdef) are used in this integration:
- SOLARIS_INTEGRATION: Ensures that the sctsolaris.h file is included in each C file. Must be set in all cases.
- XOS_TRACE: Gives a textual trace for most of the SDL events by using printf to some device. This flag should not be used together with XMSC_TRACE.
- XMSC_TRACE: Will give a textual trace in the format of MSC/PR Z.120 by using printf. This trace is possible to view in the MSC Editor. This flag should not be used together with XOS_TRACE.
- XMSC_EDITOR: Used together with the XMSC_TRACE flag, the MSC trace is automatically displayed in the MSC Editor. Note that you must have the Organizer open on your machine.
- X_ONE_TASK_PER_INSTANCE_SET: Should be defined when the alternative runtime model is to be used.
- XINCLUDE_HS_FILE: Includes the system signal header file which is required for tight integrations. This file maps signal names to integers.
- XRTOSTIME: Should always be set for all tight integrations.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |