obs-studio/deps/w32-pthreads/manual/PortabilityIssues.html

719 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE>PORTABILITYISSUES manual page</TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.3 (Linux)">
<META NAME="CREATED" CONTENT="20050505;322600">
<META NAME="CHANGED" CONTENT="20050506;11580000">
</HEAD>
<BODY LANG="en-GB" BGCOLOR="#ffffff" DIR="LTR">
<H4>POSIX Threads for Windows REFERENCE - <A HREF="http://sources.redhat.com/pthreads-win32">Pthreads-w32</A></H4>
<P><A HREF="index.html">Reference Index</A></P>
<H4><A HREF="#toc">Table of Contents</A></H4>
<H2><A HREF="#toc0" NAME="sect0">Name</A></H2>
<P STYLE="font-weight: medium">Portability issues</P>
<H2><A HREF="#toc1" NAME="sect1">Synopsis</A></H2>
<P><B>Thread priority</B></P>
<H2><A HREF="#toc2" NAME="sect2">Description</A></H2>
<H3>Thread priority</H3>
<P STYLE="margin-left: 2cm">POSIX defines a single contiguous range
of numbers that determine a thread's priority. Win32 defines priority
classes - and priority levels relative to these classes. Classes are
simply priority base levels that the defined priority levels are
relative to such that, changing a process's priority class will
change the priority of all of it's threads, while the threads retain
the same relativity to each other.</P>
<P STYLE="margin-left: 2cm">A Win32 system defines a single
contiguous monotonic range of values that define system priority
levels, just like POSIX. However, Win32 restricts individual threads
to a subset of this range on a per-process basis.</P>
<P STYLE="margin-left: 2cm">The following table shows the base
priority levels for combinations of priority class and priority value
in Win32.</P>
<DL>
<DL>
<DD>
<TABLE WIDTH=742 BORDER=0 CELLPADDING=0 CELLSPACING=0 STYLE="page-break-inside: avoid">
<COL WIDTH=50>
<COL WIDTH=356>
<COL WIDTH=336>
<THEAD>
<TR VALIGN=TOP>
<TD WIDTH=50>
<P ALIGN=CENTER><BR>
</P>
</TD>
<TD WIDTH=356>
<P ALIGN=LEFT><B>Process Priority Class</B></P>
</TD>
<TD WIDTH=336>
<P ALIGN=LEFT><B>Thread Priority Level</B></P>
</TD>
</TR>
</THEAD>
<TBODY>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="1" SDNUM="3081;">
<P ALIGN=CENTER>1</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_IDLE</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="1" SDNUM="3081;">
<P ALIGN=CENTER>1</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_IDLE</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="1" SDNUM="3081;">
<P ALIGN=CENTER>1</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_IDLE</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="1" SDNUM="3081;">
<P ALIGN=CENTER>1</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_IDLE</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="1" SDNUM="3081;">
<P ALIGN=CENTER>1</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_IDLE</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="2" SDNUM="3081;">
<P ALIGN=CENTER>2</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="3" SDNUM="3081;">
<P ALIGN=CENTER>3</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="4" SDNUM="3081;">
<P ALIGN=CENTER>4</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="4" SDNUM="3081;">
<P ALIGN=CENTER>4</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="5" SDNUM="3081;">
<P ALIGN=CENTER>5</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="5" SDNUM="3081;">
<P ALIGN=CENTER>5</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="5" SDNUM="3081;">
<P ALIGN=CENTER>5</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Background NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="6" SDNUM="3081;">
<P ALIGN=CENTER>6</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="6" SDNUM="3081;">
<P ALIGN=CENTER>6</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="6" SDNUM="3081;">
<P ALIGN=CENTER>6</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Background NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="7" SDNUM="3081;">
<P ALIGN=CENTER>7</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="7" SDNUM="3081;">
<P ALIGN=CENTER>7</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Background NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="7" SDNUM="3081;">
<P ALIGN=CENTER>7</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Foreground NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="8" SDNUM="3081;">
<P ALIGN=CENTER>8</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="8" SDNUM="3081;">
<P ALIGN=CENTER>8</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="8" SDNUM="3081;">
<P ALIGN=CENTER>8</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Foreground NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="8" SDNUM="3081;">
<P ALIGN=CENTER>8</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="9" SDNUM="3081;">
<P ALIGN=CENTER>9</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="9" SDNUM="3081;">
<P ALIGN=CENTER>9</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Foreground NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="9" SDNUM="3081;">
<P ALIGN=CENTER>9</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="10" SDNUM="3081;">
<P ALIGN=CENTER>10</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Foreground NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="10" SDNUM="3081;">
<P ALIGN=CENTER>10</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="11" SDNUM="3081;">
<P ALIGN=CENTER>11</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>Foreground NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="11" SDNUM="3081;">
<P ALIGN=CENTER>11</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="11" SDNUM="3081;">
<P ALIGN=CENTER>11</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="12" SDNUM="3081;">
<P ALIGN=CENTER>12</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="12" SDNUM="3081;">
<P ALIGN=CENTER>12</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="13" SDNUM="3081;">
<P ALIGN=CENTER>13</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="14" SDNUM="3081;">
<P ALIGN=CENTER>14</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="15" SDNUM="3081;">
<P ALIGN=CENTER>15</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="15" SDNUM="3081;">
<P ALIGN=CENTER>15</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>HIGH_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_TIME_CRITICAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="15" SDNUM="3081;">
<P ALIGN=CENTER>15</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>IDLE_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_TIME_CRITICAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="15" SDNUM="3081;">
<P ALIGN=CENTER>15</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>BELOW_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_TIME_CRITICAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="15" SDNUM="3081;">
<P ALIGN=CENTER>15</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_TIME_CRITICAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="15" SDNUM="3081;">
<P ALIGN=CENTER>15</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>ABOVE_NORMAL_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_TIME_CRITICAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="16" SDNUM="3081;">
<P ALIGN=CENTER>16</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_IDLE</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="17" SDNUM="3081;">
<P ALIGN=CENTER>17</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="-7" SDNUM="3081;">
<P ALIGN=LEFT>-7</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="18" SDNUM="3081;">
<P ALIGN=CENTER>18</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="-6" SDNUM="3081;">
<P ALIGN=LEFT>-6</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="19" SDNUM="3081;">
<P ALIGN=CENTER>19</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="-5" SDNUM="3081;">
<P ALIGN=LEFT>-5</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="20" SDNUM="3081;">
<P ALIGN=CENTER>20</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="-4" SDNUM="3081;">
<P ALIGN=LEFT>-4</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="21" SDNUM="3081;">
<P ALIGN=CENTER>21</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="-3" SDNUM="3081;">
<P ALIGN=LEFT>-3</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="22" SDNUM="3081;">
<P ALIGN=CENTER>22</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_LOWEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="23" SDNUM="3081;">
<P ALIGN=CENTER>23</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_BELOW_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="24" SDNUM="3081;">
<P ALIGN=CENTER>24</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="25" SDNUM="3081;">
<P ALIGN=CENTER>25</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_ABOVE_NORMAL</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="26" SDNUM="3081;">
<P ALIGN=CENTER>26</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_HIGHEST</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="27" SDNUM="3081;">
<P ALIGN=CENTER>27</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="3" SDNUM="3081;">
<P ALIGN=LEFT>3</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="28" SDNUM="3081;">
<P ALIGN=CENTER>28</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="4" SDNUM="3081;">
<P ALIGN=LEFT>4</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="29" SDNUM="3081;">
<P ALIGN=CENTER>29</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="5" SDNUM="3081;">
<P ALIGN=LEFT>5</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="30" SDNUM="3081;">
<P ALIGN=CENTER>30</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=BOTTOM SDVAL="6" SDNUM="3081;">
<P ALIGN=LEFT>6</P>
</TD>
</TR>
<TR>
<TD WIDTH=50 VALIGN=BOTTOM SDVAL="31" SDNUM="3081;">
<P ALIGN=CENTER>31</P>
</TD>
<TD WIDTH=356 VALIGN=TOP>
<P ALIGN=LEFT>REALTIME_PRIORITY_CLASS</P>
</TD>
<TD WIDTH=336 VALIGN=TOP>
<P ALIGN=LEFT>THREAD_PRIORITY_TIME_CRITICAL</P>
</TD>
</TR>
</TBODY>
</TABLE>
</DL>
</DL>
<P STYLE="margin-left: 2cm">Windows NT: Values -7, -6, -5, -4, -3, 3,
4, 5, and 6 are not supported.</P>
<P STYLE="margin-left: 2cm">As you can see, the real priority levels
available to any individual Win32 thread are non-contiguous.</P>
<P STYLE="margin-left: 2cm">An application using Pthreads-w32 should
not make assumptions about the numbers used to represent thread
priority levels, except that they are monotonic between the values
returned by sched_get_priority_min() and sched_get_priority_max().
E.g. Windows 95, 98, NT, 2000, XP make available a non-contiguous
range of numbers between -15 and 15, while at least one version of
WinCE (3.0) defines the minimum priority (THREAD_PRIORITY_LOWEST) as
5, and the maximum priority (THREAD_PRIORITY_HIGHEST) as 1.</P>
<P STYLE="margin-left: 2cm">Internally, pthreads-win32 maps any
priority levels between THREAD_PRIORITY_IDLE and
THREAD_PRIORITY_LOWEST to THREAD_PRIORITY_LOWEST, or between
THREAD_PRIORITY_TIME_CRITICAL and THREAD_PRIORITY_HIGHEST to
THREAD_PRIORITY_HIGHEST. Currently, this also applies to
REALTIME_PRIORITY_CLASS even if levels -7, -6, -5, -4, -3, 3, 4, 5,
and 6 are supported.</P>
<P STYLE="margin-left: 2cm">If it wishes, a Win32 application using
pthreads-w32 can use the Win32 defined priority macros
THREAD_PRIORITY_IDLE through THREAD_PRIORITY_TIME_CRITICAL.</P>
<H2><A HREF="#toc3" NAME="sect3">Author</A></H2>
<P>Ross Johnson for use with <A HREF="http://sources.redhat.com/pthreads-win32">Pthreads-w32</A>.</P>
<H2><A HREF="#toc4" NAME="sect4">See also</A></H2>
<P><BR><BR>
</P>
<HR>
<P><A NAME="toc"></A><B>Table of Contents</B></P>
<UL>
<LI><P STYLE="margin-bottom: 0cm"><A HREF="#sect0" NAME="toc0">Name</A>
</P>
<LI><P STYLE="margin-bottom: 0cm"><A HREF="#sect1" NAME="toc1">Synopsis</A>
</P>
<LI><P STYLE="margin-bottom: 0cm"><A HREF="#sect2" NAME="toc2">Description</A>
</P>
<LI><P STYLE="margin-bottom: 0cm"><A HREF="#sect3" NAME="toc3">Author</A>
</P>
<LI><P><A HREF="#sect4" NAME="toc4">See also</A>
</P>
</UL>
</BODY>
</HTML>