summaryrefslogtreecommitdiff
path: root/lib/util
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-03Clean up after Tridge's util_strlist changesVolker Lendecke2-25/+30
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-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-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-09Merge branch 'wspp-schema'Andrew Tridgell2-6/+173
2009-04-09added _const versions of some of the str_list_*() functionsAndrew Tridgell2-0/+84
These const versions don't copy the strings themselves, which is useful when those strings point at known constant data (into the schema in this case)
2009-04-09added str_list_unique() and str_list_show()Andrew Tridgell2-36/+62
I also undid some of the const changes from Andrew, as they didn't in fact resolve the const warnings.
2009-04-08Add the thread functions to top level lib/util.Jeremy Allison3-0/+277
Not yet used, that's the next step. Jeremy.
2009-04-08Rework util_strlist prototypes to use a bit more and less constAndrew Bartlett2-9/+43
Hopefully this produces less warnings, but it might produce more... Andrew Bartlett
2009-04-07added a str_list_append() functionAndrew Tridgell1-0/+23
2009-04-01lib/util: fallback to any id in idr_get_new_random()Stefan Metzmacher1-2/+6
metze
2009-03-26Merge branch 'master' of git://git.samba.org/sambaJelmer Vernooij2-0/+11
2009-03-24Add tevent_req_simple_recv_ntstatus()Volker Lendecke2-0/+11
2009-03-20Merge branch 'master' of ssh://git.samba.org/data/git/samba into displaysecJelmer Vernooij1-1/+8
2009-03-19lib/util: build tevent_unix.o and tevent_ntstatus.o as UTIL_TEVENT subsystemStefan Metzmacher1-1/+8
metze
2009-03-15Strip /usr/include from include flags, so we don't end up includingJelmer Vernooij1-0/+2
the system tevent if it's too old.
2009-03-15Remove -L/usr/lib from a couple more make variables.Jelmer Vernooij1-0/+1
2009-03-09Fix prototype mismatch.Jelmer Vernooij1-1/+1
2009-03-08Revert accidental reintroduction of void ** bug.Jelmer Vernooij2-5/+7
2009-03-03lib/util: remove samba specific talloc_get_type_abort()Stefan Metzmacher2-22/+0
metze
2009-03-02Import ISO-8859-1, 646 from Samba 3 iconv.Jelmer Vernooij1-0/+29
2009-03-01Use common header file for character set handling in Samba 3 and Samba 4.Jelmer Vernooij3-38/+122
2009-03-01s4: Use same function signature for convert_* as s3.Jelmer Vernooij4-46/+77
2009-03-01Merge branch 'master' of git://git.samba.org/samba into convenienceJelmer Vernooij2-0/+115
2009-03-01Move next_token_talloc to util.c, as util_str.c is only compiled inside samba 4.Jelmer Vernooij2-100/+100
2009-03-01Move next_token_talloc() to top-level.Jelmer Vernooij2-0/+115
2009-03-01Sync smb_iconv_t type, convert_string return type with Samba 3 equivalents.Jelmer Vernooij2-2/+3
2009-03-01Add allow_badcharcnv argument to all conversion function, forJelmer Vernooij4-23/+31
consistency with Samba 3.
2009-02-26Add tevent_ntstatusVolker Lendecke2-0/+83
2009-02-24Add tevent_req_is_unix_errorVolker Lendecke2-0/+73
2009-02-23Refactored sys_fork() and sys_pid() into shared util librarySteven Danneman3-3/+42
This fixes a bug in 116ce19b, where we didn't clear the pid cache in become_daemon() and thus the /var/run/smbd.pid didn't match the actual pid of the parent process. Currently S4 will clear the pid cache on fork but doesn't yet take advantage of the pid cache by using sys_pid() instead of the direct get_pid().