Age | Commit message (Collapse) | Author | Files | Lines |
|
Previously we relied on process groups and SIGTERM to ensure that
child tasks died in the standard process model when the parent task
died. This doesn't work when the server is run in interactive mode, as
in that case we don't call become_daemon() and don't get a separate
process group.
The fix is to have a pipe held open by the parent server process, and
inherited by child tasks. If the parent exits then the write side of
the pipe is implicitly closed, which causes an event in the child
tasks that causes them to exit
|
|
While testing the use of the standard process model with 'make test' I
found that testing was much slower (by several times) with the
standard model than with the single model. The primary problem was
that each SMB connection would open a new sam ldb context, and all of
those would reload the full AD schema.
The fix is to pre-open the SAM during server startup, before any child
processes are forked. This sets up the global schema context which is
inherited by all connections.
The standard model is still slower at make test than the single model,
but not by nearly as much. I am working on further reducing the gap.
|
|
|
|
metze
|
|
metze
|
|
metze
|
|
|
|
metze
|
|
metze
|
|
metze
|
|
metze
|
|
|
|
metze
|
|
for sockets
metze
|
|
metze
|
|
list=""
list="$list event_context:tevent_context"
list="$list fd_event:tevent_fd"
list="$list timed_event:tevent_timer"
for s in $list; do
o=`echo $s | cut -d ':' -f1`
n=`echo $s | cut -d ':' -f2`
r=`git grep "struct $o" |cut -d ':' -f1 |sort -u`
files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4`
for f in $files; do
cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp
mv $f.tmp $f
done
done
metze
|
|
We don't need a full copy of ctdb...
If we want to readd cluster support,
we should just use a ctdb client library.
metze
|
|
warnings.
|
|
|
|
We should only include events.h where we really need it
and prefer forward declarations of 'struct event_context'
metze
|
|
the dom_sid). No longer include it from security.idl.
|
|
For now implement just a very simple protocol
to negotiate the transport session info.
We may need to pass more info later,
e.g. client ip or name...
metze
|
|
|
|
remove some unused functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 05ea5e23cf4e70de0bd658b1c5c0ead133967091.
Conflicts:
source4/smbd/server.c
|
|
metze
|
|
|
|
This reverts commit 0e9008be35a5b334bd65e6417193d4b8f27bdc36.
|
|
|
|
|
|
The problem was that the parent smbd doesn't have
any event when the process model standard was in use.
Now we always add an fd event for stdin, but may not
ask for any events to trigger.
metze
(This used to be commit fa6c00734ccf9bfe7a962253ddb5e2a1722c9b09)
|
|
The problem here was that with the packet code set to serialise, we
can have multiple packets 'processing' at once, and previously the
second packet (allowed because we are spining on an event context down
the stack) would clear the flag.
Andrew Bartlett
(This used to be commit 33789111241a1d97fc105ec4edd7b8054895b28c)
|
|
specific debug function.
By default do not debug, this is the most appropriate action for a library
as we cannot assume what stderr is use for in the main app.
The main app is responsible to set ev_debug_stderr if they so desire.
(This used to be commit e566a2f308ac6fb4b526a744f7059b565670aea5)
|
|
(This used to be commit 280c411613b21acc1e65e5657b209d266dbad8d3)
|
|
This starts ntp_signd at startup, and fixes some build issues.
Andrew Bartlett
(This used to be commit cb0dcd5c3dfe2a46755270a4594b7289f555d814)
|
|
(This used to be commit a6b52119940a900fb0de3864b8bca94e2965cc24)
|
|
middle.
(This used to be commit f4a77b96f9c17d853348b70794026e5b9e384942)
|
|
(This used to be commit 2860a7db5968c7007522cdb300eba390da929ab8)
|
|
(This used to be commit 56bb2907c67d55967f54ce74b029f05067a187c5)
|
|
metze
(This used to be commit 91e9062265a68e3a1fe5e092503ec44ae5ea034e)
|
|
NULL represents an anoymous connection, as that's
cheaper than always calling auth_anonymous_session_info(),
That means if the caller wants to use the transport layer
session_info he should call auth_anonymous_session_info()
to create the session info.
metze
(This used to be commit 3777d0307b346bcf363ab5ad783e802682034a9a)
|
|
Conflicts:
source/auth/credentials/config.mk
source/auth/gensec/config.mk
source/build/smb_build/makefile.pm
source/heimdal_build/config.mk
source/lib/events/config.mk
source/lib/nss_wrapper/config.mk
source/lib/policy/config.mk
source/lib/registry/config.mk
source/lib/socket_wrapper/config.mk
source/lib/tdb/config.mk
source/lib/tls/config.mk
source/lib/util/config.mk
source/libcli/config.mk
source/libcli/ldap/config.mk
source/libnet/config.mk
source/librpc/config.mk
source/param/config.mk
source/rpc_server/config.mk
source/scripting/ejs/config.mk
source/smbd/process_model.mk
(This used to be commit 760378e0294dd0cd4523a83448328478632d7e3d)
|
|
(This used to be commit 47ffbbf67435904754469544390b67d34c958343)
|
|
(This used to be commit 873941d8a8dca8e7ace83f9af9939e4264f78c96)
|