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

FreeBSD Manual Pages

  
 
  

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 ob-
	      ject 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.   Re-
	      turns nil	if no values are left on the stack.

SEE ALSO
       dnsjit.core.channel(3)

AUTHORS	and CONTRIBUTORS
       Jerry Lundstrm (DNS-OARC), Tom Kek (CZ.NIC), Petr  paek (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+14.3.quarterly>

home | help