Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
dnsjit.core.thread(3)	    Library Functions Manual	   dnsjit.core.thread(3)

NAME
     dnsjit.core.thread - POSIX thread with separate Lua state

SYNOPSIS
       local thr = require("dnsjit.core.thread").new()
       thr:start(function(thr)
	   print("Hello from thread")
	   print("got:", thr:pop(), " = ", thr:pop(3))
       end)
       thr:push("value from main", 1, 2, 3)
       thr:stop()

DESCRIPTION
     Start  a new POSIX thread with it's own Lua state.  Sharable objects can be
     passed to the thread by pushing and poping them of the thread  stack.   The
     Thread  object  and any other objects passed to the thread needs to be kept
     alive as long as the thread is running.

   Functions
     Thread.new()
	    Create a new Thread object.

     Thread:log()
	    Return the Log object to control logging of this instance or module.

     Thread:start(func)
	    Start the thread and execute the given function in	a  separate  Lua
	    state, first argument to the function will be the Thread object that
	    created it.  Returns 0 on success.

     Thread:stop()
	    Wait for the thread to return.  Returns 0 on success.

     Thread:push(...)
	    Push  string(s),  number(s)  or  sharable  object(s) onto the thread
	    stack so they can be retrieved inside the thread using  pop().   The
	    sharable  object(s)  needs to be kept alive as long as the thread is
	    running, strings and numbers are copied.

     Thread:pop(num)
	    Pop value(s) off the thread stack, should only be called within  the
	    thread.   If  num is not given then one value is poped.  Returns nil
	    if no values are left on the stack.

SEE ALSO
     dnsjit.core.channel(3)

AUTHORS and CONTRIBUTORS
     Jerry LundstrA<paragraph>m (DNS-OARC),  TomA!A!  KAAA3/4ek  (CZ.NIC),  Petr
     A paAek (ISC)

     Maintained by DNS-OARC

	    https://www.dns-oarc.net/

BUGS
     For issues and feature requests please use:

	    https://github.com/DNS-OARC/dnsjit/issues

     For question and help please use:

	    admin@dns-oarc.net

dnsjit				      1.4.0		   dnsjit.core.thread(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dnsjit.core.thread&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help