summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@dworkin.(none)>2009-05-13 14:51:43 -0400
committerDerrell Lipman <derrell@dworkin.(none)>2009-05-13 14:51:43 -0400
commita13ba4347f92afc63497991210bc59e6bd2434d0 (patch)
tree418da23806f1b97972657a02380936167b1c16c9
parent636fbd1028bf22d9a93ae5029f6881e144f58fe1 (diff)
downloadsamba-a13ba4347f92afc63497991210bc59e6bd2434d0.tar.gz
samba-a13ba4347f92afc63497991210bc59e6bd2434d0.tar.bz2
samba-a13ba4347f92afc63497991210bc59e6bd2434d0.zip
What to do about debugging in a multi-threaded application?
- For now, punt. Any thread that requests debug to stderr will establish that for all threads. Derrell
-rw-r--r--source3/libsmb/libsmb_context.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/source3/libsmb/libsmb_context.c b/source3/libsmb/libsmb_context.c
index 03cd00d2c1..bacd907512 100644
--- a/source3/libsmb/libsmb_context.c
+++ b/source3/libsmb/libsmb_context.c
@@ -48,13 +48,6 @@ SMBC_module_init(void * punused)
setup_logging("libsmbclient", True);
-#if 0 /* need a place to put this (thread local storage) */
- if (context->internal->debug_stderr) {
- dbf = x_stderr;
- x_setbuf(x_stderr, NULL);
- }
-#endif
-
/* Here we would open the smb.conf file if needed ... */
lp_set_in_client(True);
@@ -553,6 +546,16 @@ smbc_init_context(SMBCCTX *context)
return NULL;
}
+ if (context->internal->debug_stderr) {
+ /*
+ * Hmmm... Do we want a unique dbf per-thread? For now, we'll just
+ * leave it up to the user. If any one context spefies debug to
+ * stderr then all will be.
+ */
+ dbf = x_stderr;
+ x_setbuf(x_stderr, NULL);
+ }
+
if ((!smbc_getFunctionAuthData(context) &&
!smbc_getFunctionAuthDataWithContext(context)) ||
smbc_getDebug(context) < 0 ||