]> git.sur5r.net Git - openldap/commitdiff
mdb type cleanup: Consistent reader count types.
authorHallvard Furuseth <hallvard@openldap.org>
Sat, 10 Sep 2011 08:11:56 +0000 (10:11 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Sat, 10 Sep 2011 20:49:34 +0000 (22:49 +0200)
Use unsigned int for reader counts/max limits, that's the smallest
change.  Don't need uint32_t when mdb_env_set_maxreaders() takes less.
Change prototypes of mdb_env_set_maxreaders,mdb_env_get_maxreaders().
Check the mdb_env_set_maxreaders() argument.

libraries/libmdb/mdb.c
libraries/libmdb/mdb.h

index b73541bd39934efa74b7c13509af984f09edd113..1a539ba1cb7a4c22c8fdc1397ab9c11b0dacfc98 100644 (file)
@@ -436,7 +436,7 @@ typedef struct MDB_txbody {
                 *      This always records the maximum count, it is not decremented
                 *      when readers release their slots.
                 */
-       uint32_t        mtb_numreaders;
+       unsigned        mtb_numreaders;
                /**     The ID of the most recent meta page in the database.
                 *      This is recorded here only for convenience; the value can always
                 *      be determined by reading the main database meta pages.
@@ -1819,16 +1819,16 @@ mdb_env_set_maxdbs(MDB_env *env, int dbs)
 }
 
 int
-mdb_env_set_maxreaders(MDB_env *env, int readers)
+mdb_env_set_maxreaders(MDB_env *env, unsigned int readers)
 {
-       if (env->me_map)
+       if (env->me_map || readers < 1)
                return EINVAL;
        env->me_maxreaders = readers;
        return MDB_SUCCESS;
 }
 
 int
-mdb_env_get_maxreaders(MDB_env *env, int *readers)
+mdb_env_get_maxreaders(MDB_env *env, unsigned int *readers)
 {
        if (!env || !readers)
                return EINVAL;
index c0d4edcf4af9aa5880241f2ab227f79319e48213..f718c35ac3ae31a52281959adea18ed7834e000a 100644 (file)
@@ -414,7 +414,7 @@ int  mdb_env_set_mapsize(MDB_env *env, size_t size);
         *      <li>EINVAL - an invalid parameter was specified, or the environment is already open.
         * </ul>
         */
-int  mdb_env_set_maxreaders(MDB_env *env, int readers);
+int  mdb_env_set_maxreaders(MDB_env *env, unsigned int readers);
 
        /** Get the maximum number of threads for the environment.
         * @param[in] env An environment handle returned by #mdb_env_create()
@@ -425,7 +425,7 @@ int  mdb_env_set_maxreaders(MDB_env *env, int readers);
         *      <li>EINVAL - an invalid parameter was specified.
         * </ul>
         */
-int  mdb_env_get_maxreaders(MDB_env *env, int *readers);
+int  mdb_env_get_maxreaders(MDB_env *env, unsigned int *readers);
 
        /** Set the maximum number of databases for the environment.
         * This function is only needed if multiple databases will be used in the