Changeset 647
- Timestamp:
- Nov 2, 2011, 7:24:23 PM (14 years ago)
- Location:
- trunk/server/lib/tdb/common
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server/lib/tdb/common/lock.c
r456 r647 139 139 ULONG fAccess = 0; 140 140 int fLock = 0; 141 ULONG ulTimeout;142 141 off_t cbFile; 143 142 off_t offStart; … … 146 145 TDB_LOG((tdb, TDB_DEBUG_TRACE, "tdb_brlock pid %X, fd %d, lck_type %s, rw_type %s, offset %d, len %d\n", 147 146 getpid(), tdb->fd, lock_type(lck_type), read_type(rw_type), offset, len)); 147 148 if (tdb->flags & TDB_NOLOCK) { 149 return 0; 150 } 151 152 if ((rw_type == F_WRLCK) && (tdb->read_only || tdb->traverse_read)) { 153 tdb->ecode = TDB_ERR_RDONLY; 154 return -1; 155 } 148 156 149 157 switch( offset) { … … 152 160 case TRANSACTION_LOCK: 153 161 return _mutex_brlock( tdb, offset, rw_type, lck_type, probe, len); 154 }155 156 if (tdb->flags & TDB_NOLOCK) {157 return 0;158 }159 160 if ((rw_type == F_WRLCK) && (tdb->read_only || tdb->traverse_read)) {161 tdb->ecode = TDB_ERR_RDONLY;162 return -1;163 162 } 164 163 … … 178 177 break; 179 178 } 180 181 if (lck_type == F_SETLKW) 182 ulTimeout = SEM_INDEFINITE_WAIT; 183 else 184 ulTimeout = SEM_IMMEDIATE_RETURN; 185 179 186 180 FILELOCK aflock[2]; 187 181 bzero(&aflock[(fLock + 1) & 1], sizeof(aflock[0])); -
trunk/server/lib/tdb/common/tdb.c
r414 r647 923 923 924 924 tdb_trace(tdb, "tdb_repack"); 925 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: repack enter\n")); 925 926 926 927 if (tdb_transaction_start(tdb) != 0) { … … 928 929 return -1; 929 930 } 931 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: nach start\n")); 930 932 931 933 tmp_db = tdb_open("tmpdb", tdb_hash_size(tdb), TDB_INTERNAL, O_RDWR|O_CREAT, 0); … … 935 937 return -1; 936 938 } 939 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: nach tmp open\n")); 937 940 938 941 state.error = false; … … 945 948 return -1; 946 949 } 950 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: nach travers\n")); 947 951 948 952 if (state.error) { … … 959 963 return -1; 960 964 } 965 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: nach wipe\n")); 961 966 962 967 state.error = false; … … 969 974 return -1; 970 975 } 976 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: nach read\n")); 971 977 972 978 if (state.error) { … … 978 984 979 985 tdb_close(tmp_db); 986 TDB_LOG((tdb, TDB_DEBUG_TRACE, "@remove me: nach close\n")); 980 987 981 988 if (tdb_transaction_commit(tdb) != 0) { -
trunk/server/lib/tdb/common/traverse.c
r414 r647 216 216 tdb_traverse_func fn, void *private_data) 217 217 { 218 218 219 struct tdb_traverse_lock tl = { NULL, 0, 0, F_RDLCK }; 219 220 int ret;
Note:
See TracChangeset
for help on using the changeset viewer.