Fixed multithread sync issue and duplicate thread on termination.
This commit is contained in:
1 parent
b0118cfc56
commit
cfa70c5863
72 files changed
+395
-427
No files matched your search
@@ -109,12 +109,6 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a301b46b71ac7ac61a687ff723fe269b3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1EPoll.html#a301b46b71ac7ac61a687ff723fe269b3">isStopping</a> ()</td></tr>
|
||||
<tr class="memdesc:a301b46b71ac7ac61a687ff723fe269b3"><td class="mdescLeft"> </td><td class="mdescRight">Returns a true if the stop command has been requested. <a href="classcore_1_1EPoll.html#a301b46b71ac7ac61a687ff723fe269b3">More...</a><br /></td></tr>
|
||||
<tr class="separator:a301b46b71ac7ac61a687ff723fe269b3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3d813c7bbf0da70ebc8e3cb6aeeacfb4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1EPoll.html#a3d813c7bbf0da70ebc8e3cb6aeeacfb4">registerSocket</a> (<a class="el" href="classcore_1_1Socket.html">Socket</a> *socket)</td></tr>
|
||||
<tr class="memdesc:a3d813c7bbf0da70ebc8e3cb6aeeacfb4"><td class="mdescLeft"> </td><td class="mdescRight">Register a BMASocket for monitoring by BMAEPoll. <a href="classcore_1_1EPoll.html#a3d813c7bbf0da70ebc8e3cb6aeeacfb4">More...</a><br /></td></tr>
|
||||
<tr class="separator:a3d813c7bbf0da70ebc8e3cb6aeeacfb4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5ab5e82ab51e0952fc8fbcc128f52900"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1EPoll.html#a5ab5e82ab51e0952fc8fbcc128f52900">unregisterSocket</a> (<a class="el" href="classcore_1_1Socket.html">Socket</a> *socket)</td></tr>
|
||||
<tr class="memdesc:a5ab5e82ab51e0952fc8fbcc128f52900"><td class="mdescLeft"> </td><td class="mdescRight">Unregister a BMASocket from monitoring by BMAEPoll. <a href="classcore_1_1EPoll.html#a5ab5e82ab51e0952fc8fbcc128f52900">More...</a><br /></td></tr>
|
||||
<tr class="separator:a5ab5e82ab51e0952fc8fbcc128f52900"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1e52017e1deae15c1c87c6b6a099e1ed"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1EPoll.html#a1e52017e1deae15c1c87c6b6a099e1ed">getDescriptor</a> ()</td></tr>
|
||||
<tr class="memdesc:a1e52017e1deae15c1c87c6b6a099e1ed"><td class="mdescLeft"> </td><td class="mdescRight">Return the descriptor for the ePoll socket. <a href="classcore_1_1EPoll.html#a1e52017e1deae15c1c87c6b6a099e1ed">More...</a><br /></td></tr>
|
||||
<tr class="separator:a1e52017e1deae15c1c87c6b6a099e1ed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -124,9 +118,6 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a22b5f1545aff3162040844be043abcce"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1EPoll.html#a22b5f1545aff3162040844be043abcce">processCommand</a> (coreutils::ZString &request, <a class="el" href="classcore_1_1TCPSession.html">TCPSession</a> &session) override</td></tr>
|
||||
<tr class="memdesc:a22b5f1545aff3162040844be043abcce"><td class="mdescLeft"> </td><td class="mdescRight">Output the threads array to the console. <a href="classcore_1_1EPoll.html#a22b5f1545aff3162040844be043abcce">More...</a><br /></td></tr>
|
||||
<tr class="separator:a22b5f1545aff3162040844be043abcce"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a033633714311f3edc4127ddd1c37f299"><td class="memItemLeft" align="right" valign="top"><a id="a033633714311f3edc4127ddd1c37f299"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>resetSocket</b> (<a class="el" href="classcore_1_1Socket.html">Socket</a> *socket)</td></tr>
|
||||
<tr class="separator:a033633714311f3edc4127ddd1c37f299"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classcore_1_1Command"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcore_1_1Command')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classcore_1_1Command.html">core::Command</a></td></tr>
|
||||
<tr class="memitem:ab6352ce5650e70a5c76c3d6e4eefd292 inherit pub_methods_classcore_1_1Command"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Command.html#ab6352ce5650e70a5c76c3d6e4eefd292">output</a> (std::stringstream &out)</td></tr>
|
||||
<tr class="separator:ab6352ce5650e70a5c76c3d6e4eefd292 inherit pub_methods_classcore_1_1Command"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -291,34 +282,6 @@ volatile long long </td><td class="memItemRight" valign="bottom"><b>eventId
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classcore_1_1Command.html#a95176f2532c38ee14e3fee40ee28b1bd">core::Command</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a3d813c7bbf0da70ebc8e3cb6aeeacfb4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3d813c7bbf0da70ebc8e3cb6aeeacfb4">◆ </a></span>registerSocket()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool core::EPoll::registerSocket </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classcore_1_1Socket.html">Socket</a> * </td>
|
||||
<td class="paramname"><em>socket</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Register a BMASocket for monitoring by BMAEPoll. </p>
|
||||
<p>Use registerSocket to add a new socket to the ePoll event watch list. This enables a new BMASocket object to receive events when data is received as well as to write data output to the socket.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">socket</td><td>a pointer to a BMASocket object. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>a booelean that indicates the socket was registered or not. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aaefe2caef75eb538af90cb34682d277b"></a>
|
||||
@@ -378,27 +341,6 @@ volatile long long </td><td class="memItemRight" valign="bottom"><b>eventId
|
||||
<p>Use the <a class="el" href="classcore_1_1EPoll.html#a0c2865acd31d14fbf19dbc42cc084ddc" title="Stop and shut down the BMAEPoll processing.">stop()</a> method to initiate the shutdown process for the epoll socket management.</p>
|
||||
<p>A complete shutdown of all managed sockets will be initiated by this method call. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a5ab5e82ab51e0952fc8fbcc128f52900"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5ab5e82ab51e0952fc8fbcc128f52900">◆ </a></span>unregisterSocket()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool core::EPoll::unregisterSocket </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classcore_1_1Socket.html">Socket</a> * </td>
|
||||
<td class="paramname"><em>socket</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Unregister a BMASocket from monitoring by BMAEPoll. </p>
|
||||
<p>Use this method to remove a socket from receiving events from the epoll system. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Data Documentation</h2>
|
||||
|
||||
Reference in new issue
Block a user