diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-02-04 17:59:16 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-02-04 17:59:16 +1100 |
commit | b3c5fbec47739ee2bb26f900d1f564a36dc3ad82 (patch) | |
tree | 6cbde07fd634a515b2f7fece08f36abc13b4be3d /source4/smbd/process_thread.c | |
parent | 3d5594e74da375a47cf15514926803352d256ca3 (diff) | |
download | samba-b3c5fbec47739ee2bb26f900d1f564a36dc3ad82.tar.gz samba-b3c5fbec47739ee2bb26f900d1f564a36dc3ad82.tar.bz2 samba-b3c5fbec47739ee2bb26f900d1f564a36dc3ad82.zip |
Remaining changes to implement the prefork process model
To use, run 'smbd -M prefork'
By default, only the smb service is preforked. 4 children are
created, and all listen for new connections. The Linux Kernel 'wake
one' behaviour should ensure that only one is given the oportunity to
accept. We need to look into the ideal number of worker children, as
well as load balancing behaviours.
To change, set:
prefork children : smb = 6
valid service names (smb in this example) match those in 'server services'.
Andrew Bartlett and David Disseldorp
(This used to be commit 35313c0aa3fbfdd943edfb7bafd7645b1a0c54e9)
Diffstat (limited to 'source4/smbd/process_thread.c')
-rw-r--r-- | source4/smbd/process_thread.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source4/smbd/process_thread.c b/source4/smbd/process_thread.c index 6c5f4816c0..5a45cdfeac 100644 --- a/source4/smbd/process_thread.c +++ b/source4/smbd/process_thread.c @@ -148,6 +148,7 @@ static void *thread_task_fn(void *thread_parm) */ static void thread_new_task(struct event_context *ev, struct loadparm_context *lp_ctx, + const char *service_name, void (*new_task)(struct event_context *, struct loadparm_context *, uint32_t , void *), @@ -178,10 +179,10 @@ static void thread_new_task(struct event_context *ev, rc = pthread_create(&thread_id, &thread_attr, thread_task_fn, state); pthread_attr_destroy(&thread_attr); if (rc == 0) { - DEBUG(4,("thread_new_task: created thread_id=%lu\n", - (unsigned long int)thread_id)); + DEBUG(4,("thread_new_task: created %s thread_id=%lu\n", + service_name, (unsigned long int)thread_id)); } else { - DEBUG(0,("thread_new_task: thread create failed rc=%d\n", rc)); + DEBUG(0,("thread_new_task: thread create for %s failed rc=%d\n", service_name, rc)); talloc_free(ev2); } } |