サーバアプリケーションをC言語で作成する場合の注意事項を、以下に示します。
注意
C言語でサーバアプリケーションを作成できるのは、同期アプリケーション連携実行基盤だけです。
■関数の発行について
サーバアプリケーションで、system関数は発行できません。
また、fork関数を発行したあとにexec関数を発行しない場合、または発行しても失敗した場合は、exit関数ではなく、_exit関数でプロセスを終了させてください。
サーバアプリケーションから生成した子プロセスを終了する際には、exit関数ではなく、_exit関数を使用するようにしてください。
exit関数を使用した場合、子プロセスが終了した際に親プロセスも終了したと誤認されてしまうため、その後の動作は保証されません。
また、他言語(COBOLなど)のランタイムを呼び出す場合、その言語の機能/APIでプロセスを終了させるとランタイム内でexit()が使用される可能性があるので、サーバアプリケーションから生成した子プロセスでは他言語の機能/APIでプロセスを終了させないでください。
■atexit関数の使用について
アプリケーションプログラム上では、atexit関数を使用しないでください。使用方法を誤るとワークユニットの停止処理がハングアップする可能性があります。
■iconv関数の使用について
サーバアプリケーションで、iconv関数を使用して独自に文字コード変換を行うことはできません。
■サーバアプリケーションでのメッセージの出力について
サーバアプリケーションでメッセージを出力する場合、データがバッファリングされるため、処理と同時にメッセージが出力されません。処理と同時にメッセージを出力したい場合は、サーバアプリケーション内でfflush関数を使用して強制的にフラッシュするようにしてください。