ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/diffs.htm

123 lines
4.3 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>i5/OS Pthreads versus the POSIX standard, the Single UNIX
Specification, and other threads implementations</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- NETMG2 SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 29 Jan 1999 at 10:01:37 -->
<!-- File Edited November 2001 -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>i5/OS Pthreads versus the POSIX standard, the Single UNIX Specification,
and other threads implementations</h2>
<p>Although the Pthread interfaces described in this document are based on a
subset of the APIs defined in the POSIX standard and the Single UNIX
Specification, the implementation of these APIs is not compliant with these
standards. This means that applications written in other versions of threads
are not necessarily portable to i5/OS. Below is a list of the differences
between the Pthread APIs and other threads implementations.</p>
<ul>
<li><a href="concep10.htm" target="text">All thread definitions in
pthread.h</a></li>
<li><a href="concep11.htm" target="text">Unsupported preprocessor and feature
test macros</a></li>
<li><a href="users_98.htm" target="text">Unsupported APIs</a></li>
<li><a href="concep13.htm" target="text">Unsupported constants</a></li>
<li><a href="concep14.htm" target="text">Unsupported cancellation
points</a></li>
<li><a href="concep15.htm" target="text">Unsupported sysconf() configuration
variables</a></li>
<li><a href="concep16.htm" target="text">Thread priority and
scheduling</a></li>
<li><a href="concep17.htm" target="text">Thread ID vs. Pthread Handle
(pthread_t)</a></li>
<li><a href="concep18.htm" target="text">Thread ID value and size</a></li>
<li><a href="concep19.htm" target="text">Mutexes return EDEADLK when re-locked
by owner</a></li>
<li><a href="concep20.htm" target="text">Return values from thread start
routines are not integers</a></li>
<li><a href="concep21.htm" target="text">Threads do not necessarily start
before pthread_create() returns</a></li>
<li><a href="concep22.htm" target="text">Initial thread is special, cannot
pthread_exit()</a></li>
<li><a href="concep23.htm" target="text">Pthread APIs cause asynchronous
signals initialization</a></li>
<li><a href="concep24.htm" target="text">Not all jobs can create threads;
pthread_create() fails with EBUSY</a></li>
<li><a href="concep25.htm" target="text">Read/write locks are
recursive</a></li>
<li><a href="concep26.htm" target="text">Shared read/write locks are released
at thread termination</a></li>
<li><a href="concep26.htm#293561" target="text">Read/write locks can be
upgraded / downgraded</a></li>
<li><a href="concep27.htm" target="text">Read/write locks do not favor
writers</a></li>
<li><a href="concep28.htm" target="text">Spawn API provides more POSIX-like
process model</a></li>
<li><a href="concep29.htm" target="text">C++ destructors and Pthread
termination</a></li>
<li><a href="concep30.htm" target="text">Unhandled exceptions terminate the
thread (not the process)</a></li>
<li><a href="concep31.htm" target="text">Exceptions vs. Asynchronous signals
vs. ANSI C signals</a></li>
<li><a href="mutexes.htm">Mutexes can be named to aid in application
debug</a></li>
</ul>
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center">
<a href="#Top_Of_Page">Top</a> |
<a href="rzah4mst.htm">Pthread APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>