mirror of
https://github.com/nmap/nmap.git
synced 2025-12-25 08:59:01 +00:00
Use em/strong tags instead of <b>.
This commit is contained in:
@@ -201,14 +201,15 @@ function mutex(object)
|
||||
-- guarantee your thread will not be awakened when no thread called
|
||||
-- <code>"signal"</code> or <code>"broadcast"</code> on the condition variable).
|
||||
-- One important check for your worker threads, before and after waiting,
|
||||
-- should be to check that the master <b>script</b> thread is still alive.
|
||||
-- should be to check that the master <em>script</em> thread is still alive.
|
||||
-- (To check that the master script thread is alive, obtain the "base" thread
|
||||
-- using stdnse.base and use coroutine.status). You do not want your worker
|
||||
-- threads to continue when the script has ended for reasons unknown to your
|
||||
-- worker thread. <b>You are guaranteed that all threads waiting on a condition
|
||||
-- variable will be awakened if any thread that has accessed the condition
|
||||
-- variable via <code>nmap.condvar</code> ends for any reason.</b> This is
|
||||
-- essential to prevent deadlock with threads waiting for another thread to awaken
|
||||
-- worker thread. <strong>You are guaranteed that all threads waiting on a
|
||||
-- condition variable will be awakened if any thread that has accessed
|
||||
-- the condition variable via <code>nmap.condvar</code> ends for any
|
||||
-- reason.</strong> This is essential to prevent deadlock with threads
|
||||
-- waiting for another thread to awaken
|
||||
-- them that has ended unexpectedly.
|
||||
-- @see stdnse.new_thread
|
||||
-- @see stdnse.base
|
||||
|
||||
@@ -520,13 +520,13 @@ end
|
||||
-- and mutex (<code>nmap.mutex</code>) facilities to coordinate with your
|
||||
-- worker threads. Keep in mind that Nmap is single threaded so there are
|
||||
-- no (memory) issues in synchronization to worry about; however, there
|
||||
-- <b>is</b> resource contention. Your resources are usually network bandwidth,
|
||||
-- network sockets, etc. Condition variables are also useful if the work for any
|
||||
-- single thread is dynamic. For example, a web server spider script with a pool
|
||||
-- of workers will initially have a single root html document. Following the
|
||||
-- retrieval of the root document, the set of resources to be retrieved
|
||||
-- (the worker's work) will become very large (an html document adds many
|
||||
-- new hyperlinks (resources) to fetch).
|
||||
-- <em>is</em> resource contention. Your resources are usually network
|
||||
-- bandwidth, network sockets, etc. Condition variables are also useful if the
|
||||
-- work for any single thread is dynamic. For example, a web server spider
|
||||
-- script with a pool of workers will initially have a single root html
|
||||
-- document. Following the retrieval of the root document, the set of
|
||||
-- resources to be retrieved (the worker's work) will become very large
|
||||
-- (an html document adds many new hyperlinks (resources) to fetch).
|
||||
--@name new_thread
|
||||
--@class function
|
||||
--@param main The main function of the worker thread.
|
||||
|
||||
Reference in New Issue
Block a user