Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch mutexDbg Excluding Merge-Ins
This is equivalent to a diff from 29dbef4b to a3a96c4d
2022-09-27
| ||
17:00 | Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93a user: dan tags: branch-3.14) | |
2016-10-17
| ||
19:00 | Escape non-ASCII character from an ICU extension comment. Cherrypick of [5ec02ecf3d20ce7e]. (Leaf check-in: a3a96c4d user: mistachkin tags: mutexDbg) | |
18:59 | Enhancments to Win32 mutex debugging. (check-in: 2fb9a5dd user: mistachkin tags: mutexDbg) | |
18:44 | Escape non-ASCII character from an ICU extension comment. (check-in: 5ec02ecf user: mistachkin tags: trunk) | |
2016-09-12
| ||
18:50 | Version 3.14.2 (check-in: 29dbef4b user: drh tags: release, branch-3.14, version-3.14.2) | |
2016-09-08
| ||
23:18 | Remove an extra space before function names in the amalgamation. Cherrypick of [20f3c7436f6a8a7bab39]. (check-in: a04a21ad user: mistachkin tags: branch-3.14) | |
Changes to ext/icu/icu.c.
︙ | |||
345 346 347 348 349 350 351 | 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | - + | ** To access ICU "language specific" case mapping, upper() or lower() ** should be invoked with two arguments. The second argument is the name ** of the locale to use. Passing an empty string ("") or SQL NULL value ** as the second argument is the same as invoking the 1 argument version ** of upper() or lower(). ** ** lower('I', 'en_us') -> 'i' |
︙ |
Changes to src/mutex.h.
︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | + + + + + + + | # elif SQLITE_OS_WIN # define SQLITE_MUTEX_W32 # else # define SQLITE_MUTEX_NOOP # endif #endif /* ** Allowed values for sqlite3_mutex.magic */ #define SQLITE_MUTEXMAGIC_NORMAL 0x1f7a8074 #define SQLITE_MUTEXMAGIC_TRACE 0x1f7a8075 #define SQLITE_MUTEXMAGIC_DEAD 0x4b0844f6 #ifdef SQLITE_MUTEX_OMIT /* ** If this is a no-op implementation, implement everything as macros. */ #define sqlite3_mutex_alloc(X) ((sqlite3_mutex*)8) #define sqlite3_mutex_free(X) #define sqlite3_mutex_enter(X) |
︙ |
Changes to src/mutex_w32.c.
︙ | |||
36 37 38 39 40 41 42 | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | - + | */ struct sqlite3_mutex { CRITICAL_SECTION mutex; /* Mutex controlling the lock */ int id; /* Mutex type */ #ifdef SQLITE_DEBUG volatile int nRef; /* Number of enterances */ volatile DWORD owner; /* Thread holding this mutex */ |
︙ | |||
217 218 219 220 221 222 223 | 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | - + + + | case SQLITE_MUTEX_FAST: case SQLITE_MUTEX_RECURSIVE: { p = sqlite3MallocZero( sizeof(*p) ); if( p ){ p->id = iType; #ifdef SQLITE_DEBUG #ifdef SQLITE_WIN32_MUTEX_TRACE_DYNAMIC |
︙ | |||
239 240 241 242 243 244 245 | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | - + + + + | return 0; } #endif p = &winMutex_staticMutexes[iType-2]; p->id = iType; #ifdef SQLITE_DEBUG #ifdef SQLITE_WIN32_MUTEX_TRACE_STATIC |
︙ | |||
282 283 284 285 286 287 288 | 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | - + + - - - - - + + + + + + | ** can enter. If the same thread tries to enter any other kind of mutex ** more than once, the behavior is undefined. */ static void winMutexEnter(sqlite3_mutex *p){ #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) DWORD tid = GetCurrentThreadId(); #endif |
︙ | |||
337 338 339 340 341 342 343 | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 | - - - + + + + - - - + + + | #endif rc = SQLITE_OK; } #else UNUSED_PARAMETER(p); #endif #ifdef SQLITE_DEBUG |
︙ |