summaryrefslogtreecommitdiff
path: root/source4/smbd/process_thread.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-11-04 02:19:25 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:27 -0500
commita9c00f35f9d7d59b36c286abb2e72613b32ba775 (patch)
tree1d17cc33d6d2ed303e915d1be52186f5f4c1bc18 /source4/smbd/process_thread.c
parentf7a13be68d56ef0937c766026fe0dbe684f35c41 (diff)
downloadsamba-a9c00f35f9d7d59b36c286abb2e72613b32ba775.tar.gz
samba-a9c00f35f9d7d59b36c286abb2e72613b32ba775.tar.bz2
samba-a9c00f35f9d7d59b36c286abb2e72613b32ba775.zip
r3518: fixed some includes to be consistent.
- use #include <XXX.h> for operating system includes - use includes relative to include/ for things like system/wait.h also fixed the thread backend to work somewhat. To fix it properly we need to do this: - add a configure test for support for thread local storage (the __thread keyword) - refuse to do pthreads if tls doesn't work - refuse to do pthreads if seteuid() affects process instead of thread - defined THREAD_LOCAL as __thread when WITH_PTHREADS - add THREAD_LOCAL to all the global data structures that should be thread local (there are quite a few) right now the thread backend falls over when you hit it with several connections at once, due to the lack of __thread on some critical structures. (This used to be commit 0dc1deabd0b53bc7a6f6cee2ed99e2cbbe422262)
Diffstat (limited to 'source4/smbd/process_thread.c')
-rw-r--r--source4/smbd/process_thread.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/source4/smbd/process_thread.c b/source4/smbd/process_thread.c
index da3af9202a..0eead7f33c 100644
--- a/source4/smbd/process_thread.c
+++ b/source4/smbd/process_thread.c
@@ -21,15 +21,15 @@
*/
#include "includes.h"
+#include <pthread.h>
+#ifdef HAVE_BACKTRACE
+#include <execinfo.h>
+#endif
+#include "system/wait.h"
#include "events.h"
#include "dlinklist.h"
#include "smb_server/smb_server.h"
#include "process_model.h"
-#include "include/system/wait.h"
-#include "pthread.h"
-#ifdef HAVE_BACKTRACE
-#include "execinfo.h"
-#endif
static void *thread_connection_fn(void *thread_parm)
{
@@ -65,8 +65,6 @@ static void thread_accept_connection(struct event_context *ev, struct fd_event *
/* accept an incoming connection. */
status = socket_accept(server_socket->socket, &sock);
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0,("accept_connection_single: accept: %s\n",
- nt_errstr(status)));
return;
}
@@ -79,14 +77,12 @@ static void thread_accept_connection(struct event_context *ev, struct fd_event *
ev = event_context_init(server_socket);
if (!ev) {
- DEBUG(0,("thread_accept_connection: failed to create event_context!\n"));
socket_destroy(sock);
return;
}
conn = server_setup_connection(ev, server_socket, sock, t, pthread_self());
if (!conn) {
- DEBUG(0,("server_setup_connection(ev, server_socket, sock, t) failed\n"));
event_context_destroy(ev);
socket_destroy(sock);
return;
@@ -120,7 +116,7 @@ static void thread_accept_connection(struct event_context *ev, struct fd_event *
/* called when a SMB connection goes down */
static void thread_terminate_connection(struct server_connection *conn, const char *reason)
{
- DEBUG(0,("thread_terminate_connection: reason[%s]\n",reason));
+ DEBUG(10,("thread_terminate_connection: reason[%s]\n",reason));
if (conn) {
talloc_free(conn);