summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2009-05-13Take advantage of the easier-to-use thread macrosDerrell Lipman1-8/+0
- Now that we initialize for the non-thread-safe case in the macro, there's no need to do it here too. Derrell
2009-05-13Make the thread functions a bit easier to useDerrell Lipman3-8/+12
- Create separate macros for lock and unlock so that it's easier to identify which request is being made. - Initialize *ponce in the SMB_THREAD_ONCE macro in the non-thread-safe case, rather than requiring each init function to determine if it's in the non-thread-safe case and manually initialize. Derrell
2009-05-13Allow a parameter to smb_thread_once's initialization functionDerrell Lipman4-15/+28
- This should make life easier for ourselves. We're no longer constrained to the semantics of pthread_once, so let's allow passing a parameter to the initialization function. Some of Samba's init functions return a value. Although I haven't searched, I suspect that some of the init functions require in input parameters. The parameter added here can be used for input, output, or both, as necessary... or ignored, as is now done in talloc_stackframe_init(). Derrell
2009-05-12Fix broken smb_thread_once function (again)Derrell Lipman1-0/+3
- It would help if smb_thread_once did, eventually, set the variable that prevents the init function from being run again. Sigh. It must be getting late. Derrell
2009-05-12Fix broken smb_thread_once functionDerrell Lipman1-19/+3
- We can't set *ponce=true before running the function because although other threads wouldn't re-run the initialization function, they could potentially proceed beyond the initialization point while the first thread was still running the initialization function. If a second thread gets to an SMB_THREAD_ONCE() call while one with the same ponce is running, we need to ensure that it enters smb_thread_once() to await the mutex and then recheck whether *ponce is set or not. My original comment about other "once" functions possibly being called from within this "once" function is irrelevant since those other ones would have their own unique ponce. Derrell
2009-05-11Fix definition of smb_thread_once - must return int not void asJeremy Allison2-2/+5
it's used in a ? : comparison macro. Jeremy.
2009-05-11Ensure documentation matches the tdb_util function usage.Jeremy Allison1-2/+2
Jeremy.
2009-05-10Use bool instead of int for a boolean variableDerrell Lipman1-1/+1
2009-05-10Optimize smb_thread_once usage by not calling it if known already calledDerrell Lipman1-2/+6
- The macro SMB_THREAD_ONCE now tests whether the "once" variable is already set, and if so avoids calling smb_thread_once(). Derrell
2009-05-10Panic upon mutex lock or unlock failureDerrell Lipman1-2/+2
- It's a serious error if we can't lock or unlock a mutex in smb_thread_once(). Panic instead of just displaying a DEBUG message. Derrell
2009-05-10Don't require external use of internal enum smb_thread_lock_typeDerrell Lipman1-3/+4
- Internally, when locking or unlocking a mutex, we'll pass one of the values of enum smb_thread_lock_type. That enum is not available to users providing a thread implementation. Externally, we'll document the integer values which will be passed to their lock_mutex function, but not require them to access our internal header file. Derrell
2009-05-10Replace external thread "once" with an internal implementationDerrell Lipman3-22/+66
Jeremy, please check... - I'm in the process of providing an interface in libsmbclient to the recently-added threading capabilities. In the process, I discovered that different thread implementations have varying types for the variable passed to the thread_impl_once() function. pthreads, for example, uses type pthread_once_t. Since Samba needs to internally declare these variables, it would need to know the exact type required by each thread implementation's function. After considering multiple methods of obtaining an appropriately sized variable, I decided that for the basic "once" functionality required by Samba, it would be much simpler to just implement our own "once" functionality. We don't require cancellation points et all. This commit adds an smb_thread_once() function that is implemented using an internal mutex. The mutex itself uses the implementation's create_mutex function. This eliminates the need for the user to provide a smb_thread_once function pointer and the entire issue of that function's first parameter. Derrell
2009-05-07tevent: fix typo async_req_done() => tevent_req_done()Stefan Metzmacher1-1/+1
metze
2009-05-06Avoid --nonet when building manpages; xsltproc will already prefer localJelmer Vernooij1-2/+2
stylesheets if they are installed.
2009-05-05Update tdb and talloc web pagesSimo Sorce2-9/+20
2009-05-05Add release scripts for talloc and tdbSimo Sorce2-0/+90
2009-05-03Clean up after Tridge's util_strlist changesVolker Lendecke2-25/+30
2009-05-01Attempt to the build on NetBSD5 and a few othersVolker Lendecke1-0/+3
2009-05-01tsocket: add tstream_readv_pdu_queue_send/recv()Stefan Metzmacher2-0/+132
metze
2009-05-01tsocket: add tstream_writev_queue_send/recv()Stefan Metzmacher2-0/+132
metze
2009-05-01tsocket: add tstream_readv_pdu_send/recv()Stefan Metzmacher2-1/+178
metze
2009-05-01tsocket: add tstream implementation for bsd sockets (inet and unix)Stefan Metzmacher2-0/+943
metze
2009-05-01tsocket: add tstream_context infrastructure similar to tdgram_contextStefan Metzmacher3-0/+445
metze
2009-05-01tsocket: rename tdgram_unix_dgram_socket() => tdgram_unix_socket()Stefan Metzmacher2-12/+12
metze
2009-05-01tsocket: move tsocket_simple_int_recv() to tsocket.cStefan Metzmacher2-31/+28
metze
2009-05-01tsocket: move tsocket_sendto_queue_send/recv() to tsocket_helpers.cStefan Metzmacher2-130/+131
metze
2009-05-01tsocket: tdgram move input checks to the common code as there're needed for ↵Stefan Metzmacher2-24/+69
all backends We need to make sure that we free the sendto and recvfrom requests before the tdgram_context metze
2009-05-01tsocket: for unix domain sockets we need to use sizeof(struct sockaddr_un)Stefan Metzmacher1-2/+22
sizeof(struct sockaddr_storage) generates EINVAL. metze
2009-05-01tsocket: return EINVAL when tdgram_sendto_send() is used with len == 0Stefan Metzmacher1-0/+5
metze
2009-05-01tsocket: fix dependeciesStefan Metzmacher1-1/+2
metze
2009-05-01tsocket: remove tsocket_context related stuffStefan Metzmacher9-1807/+17
It will be replaced by tdgram_context and tstream_context. metze
2009-04-28Fix a missing prototype warningVolker Lendecke2-0/+3
2009-04-28pm_process():raise level of debug messageMichael Adam1-1/+1
Michael
2009-04-23Fix push_codepoint function without iconv_convenience.Jelmer Vernooij1-1/+1
2009-04-23Add a new non-convenience version of push_codepoint.Jelmer Vernooij4-7/+15
2009-04-22Prevent reallocs of the talloc pool itselfSimo Sorce1-0/+5
2009-04-22Avoid using deprecated form of AC_CHECK_TYPE.Brad Hards2-3/+13
libreplace makes use of an older form of AC_CHECK_TYPE which basically provides a fallback definition for the type if it isn't available. http://www.gnu.org/software/hello/manual/autoconf/Obsolete-Macros.html#Obsolete-Macros shows why this isn't a good idea (its not so important, except for pointer types). This patch partly addresses the issue. Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-04-20Error out at runtime when seteuid/setresuid or setegid/setresgid are notJelmer Vernooij1-2/+4
available. This means it's possible to compile libreplace when these functions are not available and use it, as long as this particular function is not used.
2009-04-20Only define waitpid replacement if wait4 is available. (It isn't onJelmer Vernooij3-2/+6
Windows.)
2009-04-20Cope with the fact that only _mkdir() exists on Windows and that itJelmer Vernooij3-0/+12
doesn't take a mode argument.
2009-04-20Move check for syslog out of libreplace to source3/ and source4/.Jelmer Vernooij2-1/+3
This should help compiling talloc on Windows.
2009-04-20Ensure we have all the definitions needed in both threaded and non-threaded ↵Jeremy Allison1-9/+4
versions. Jeremy.
2009-04-20Attempt to fix build farm on platforms where pthread_once_t is a struct.Jeremy Allison2-3/+6
Jeremy.
2009-04-20Fix the pthread_once initialization issue. Make talloc_stackframe useJeremy Allison4-38/+85
this. Jeremy.
2009-04-16tsocket: fix the build without ipv6 supportStefan Metzmacher1-0/+2
metze
2009-04-15Fix bug #6089 - Winbind samr_OpenDomain not possible with Samba 3.2.6+Jeremy Allison1-1/+1
What a difference a name makes... :-). Just because something is missnamed SAMR_ACCESS_OPEN_DOMAIN, when it should actually be SAMR_ACCESS_LOOKUP_DOMAIN, don't automatically use it for a security check in _samr_OpenDomain(). Jeremy.
2009-04-14Ensure a tls key is only generated once - wrap create & destroy in a mutex.Jeremy Allison4-40/+71
Change the function names to add _once to the tls_create & tls_destroy to make this obvious. Jeremy.
2009-04-14Make talloc_stack threadsafe using TLS. Volker pleaseJeremy Allison4-25/+93
check. Passes make test and basic valgrind testing. Jeremy.
2009-04-14socket_wrapper: fix the build on systems without ipv6 supportStefan Metzmacher1-0/+2
metze
2009-04-10socket_wrapper: fix crash bug in swrap_readv/writevStefan Metzmacher1-4/+10
metze