1. 17 May, 2007 1 commit
  2. 16 May, 2007 7 commits
  3. 15 May, 2007 1 commit
  4. 14 May, 2007 3 commits
  5. 13 May, 2007 10 commits
  6. 12 May, 2007 5 commits
  7. 11 May, 2007 2 commits
  8. 10 May, 2007 7 commits
  9. 09 May, 2007 4 commits
    • Hallvard Furuseth's avatar
      Since we only have LDAP_MAXTHR thread_keys, allow max LDAP_MAXTHR · 810b2389
      Hallvard Furuseth authored
      threads per pool, even when ltp_max_count <= 0 ("unlimited").
      Keep ltp_max_count in range [0, LDAP_MAXTHR].
      810b2389
    • Hallvard Furuseth's avatar
      Make ldap_int_thread_userctx_t.ltu_key[] a proper NULL-terminated array. · f0a15114
      Hallvard Furuseth authored
      (setkey/getkey expected that, but purgekey could set a NULL in the middle.)
      Added some checks for input key!=NULL.
      
      API changes, need review - I'm not sure what's indented here:
      - setkey(data=NULL, kfree!=NULL) searched as if intended to reset
        the key, but updated by setting the key.  Now always updates.
      - setkey(key=<not found>, data=NULL) could return either success or
        failure.  Now succeeds iff (data == NULL && kfree == NULL).
      f0a15114
    • Hallvard Furuseth's avatar
      thread_keys is a (poor) open-addessed hash table, but it lacked a · f5da908c
      Hallvard Furuseth authored
      "deleted item" mark.  Add DELETED_THREAD_CTX.
      Also improve the hash function a bit, and make the hash unsigned.
      f5da908c
    • Hallvard Furuseth's avatar
      Protect thread_keys[] with ldap_pvt_thread_pool_mutex, except in · 8a928252
      Hallvard Furuseth authored
      ldap_pvt_thread_pool_purgekey() which may only be called during pauses.
      
      Thus, also wait for pauses to finish before accessing thread_keys in
      ldap_int_thread_pool_wrapper().  This may prevent pending tasks from
      being started when a pause had been requested, which seems to have been
      possible.  If that was a feature, we can split ltp_pause==1 in 2 states:
      in pause (causes wait), and pause requested.
      
      Also move 'thread_keys[].id = <thread id>' from pool_submit to
      pool_wrapper.  Until pool_wrapper set the ctx as well, thread context
      lookup would just return NULL anyway.
      8a928252