plan9fox/sys/include
cinap_lenrek f6509078ed lib9p: expose Srv.forker handler and srvforker(), threadsrvforker() and threadsrv() functions
To use srvrease()/srvaquire() we need to have a way to spawn
new processes to handle the service loop. This functionality
was provided by the internal _forker() function which was
eigther rfork or libthread based implementation depending on
if postmountsrv() or threadpostmountsrv() where called.

For servers who want to use srv() directly, _forker would not
be initialized so srvrelease() could not be used.

To untangle this, we get rid of the global _forker handler
and put the handler in the Srv structure. Which will get
initialized (when nil) to eigther srvforker() or threadsrvforker()
depending on if the thread or non-thread entry points where used.

For symmetry, we provde new threadsrv() and threadpostsrv()
functions which handle the default initialization of Srv.forker.

This also allows a user to provide his own forker function,
maybe to conserve stack space.

To avoid dead code, we put each of these function in their
own object file. Note, this also allows a user to define its
own srvforker() symbol.
2021-05-01 16:37:00 +02:00
..
ape ape/lib9: expose fd2path (thanks phil9) 2021-02-20 21:02:07 -08:00
9p.h lib9p: expose Srv.forker handler and srvforker(), threadsrvforker() and threadsrv() functions 2021-05-01 16:37:00 +02:00
a.out.h retire the dec alpha port 2016-05-04 16:11:48 +02:00
aml.h aml: define amlintmask and set it according to DSDT revision (64bit / 32bit) 2016-06-05 14:57:38 +02:00
ar.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
auth.h libauth: add procsetuser() function to change user id of the calling process 2020-12-19 17:46:55 +01:00
authsrv.h separate MSCHAP(v2) and NTLM(v2) authentication 2018-05-20 22:49:24 +02:00
avl.h replica: use libavl for avl tree implementation 2017-04-22 14:28:02 -05:00
bin.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
bio.h libbio: add aux pointer to bio 2020-11-01 11:42:54 -08:00
bootexec.h libmach: use #pragma pack to force 4 byte alignment of bootexec.h structures for amd64 2015-03-18 19:31:51 +01:00
complete.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
control.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ctype.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
cursor.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
disk.h Add alignment hints for e512 ATA drives. 2012-09-09 17:22:12 +12:00
draw.h libdraw: add bezierpts 2021-01-09 12:20:49 -08:00
dtracy.h dtracy: avoid dmachlock() race 2019-03-30 09:17:46 +01:00
event.h libdraw: added enter() and eenter() functions 2011-10-31 19:41:48 +01:00
fcall.h Sand edges down on GBIT64()/PBIT64() macros. 2019-05-06 17:26:38 -07:00
fis.h Add alignment hints for e512 ATA drives. 2012-09-09 17:22:12 +12:00
flate.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
frame.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
geometry.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
html.h libhtml: fix potential linked list corruption 2013-09-05 00:55:58 +02:00
httpd.h libhttpd: declare hvprint 2015-05-20 15:09:34 -07:00
ip.h libip: replace v4parsecidr() with new parseipandmask() 2019-02-11 23:26:57 +01:00
json.h libjson: added printing support (thanks spew) 2015-12-22 18:12:56 +01:00
keyboard.h add missing header change (thanks qwx) 2020-04-26 09:03:42 -07:00
libc.h libc: new date apis 2020-08-09 18:58:44 -07:00
libsec.h libsec: move AES XTS function prototypes to AES definition section in the header file 2020-03-01 16:02:56 +01:00
mach.h libmach: support disassembling from memory 2017-08-24 13:02:27 +00:00
memdraw.h libmemdraw/libmemlayer: get rid of drawdebug prints 2017-04-29 21:10:28 +02:00
memlayer.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
mouse.h libdraw: added enter() and eenter() functions 2011-10-31 19:41:48 +01:00
mp.h libmp: declare mpfactorial 2018-11-04 11:37:02 -08:00
ndb.h libndb: make ndbipinfo() walk ipnet for all matching entries, concatenate and dedup result 2018-09-16 12:39:47 +02:00
nfs3.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
plumb.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
pool.h libc: add poolisoverlap() and definitions for Pool *secrmem 2016-08-27 20:23:55 +02:00
rdbg.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
regexp.h better memory management of threads (thanks knuth) 2016-04-27 17:36:43 -05:00
sat.h libsat, forp: fix va_list hack on amd64 2018-04-24 12:20:07 +01:00
scribble.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
stdio.h stdio.h: correct return type of putc 2020-08-10 19:36:09 -07:00
String.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
sunrpc.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
thread.h libthread: get rid of tprivalloc()/tprivfree()/tprivdata() and _workerdata() (thanks qrstuv) 2015-09-06 23:25:14 +02:00
tos.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
trace.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ttf.h add libttf 2018-06-09 14:33:19 +00:00
venti.h sys/src/libventi: define VtEntryNoArchive constant 2019-09-06 11:55:35 -07:00