>Isn't it time to drop the Win9X support from the default build? I do not believe that just because Win9x is missing a single required call justifies dropping support for it altogether!
>I'm thinking that any optimization should be enabled for the majority of >users. Or if it's not really an optimization, why keeping it in the code then? If possible, please keep the optimization. >An alternative is to call this function when available using "GetProcAddress" >(this is the case for a lot of other modern calls that cannot be done right >now). I second this alternative. According to http://msdn2.microsoft.com/en-us/library/ms686857.aspx, TryEnterCriticalSection() is available on all Windows NT sytems. Therefore an option to "GetProcAddress()" is checking for such OSes. The isNT() routine is already part of os_win.c and is used there frequently: static int isNT(void){ if( sqlite3_os_type==0 ){ OSVERSIONINFO sInfo; sInfo.dwOSVersionInfoSize = sizeof(sInfo); GetVersionEx(&sInfo); sqlite3_os_type = sInfo.dwPlatformId==VER_PLATFORM_WIN32_NT ? 2 : 1; } return sqlite3_os_type==2; } sqlite3_mutex_try() would then extend to something like this (untested!): int sqlite3_mutex_try(sqlite3_mutex *p){ int rc; assert( p ); assert( p->id==SQLITE_MUTEX_RECURSIVE || sqlite3_mutex_notheld(p) ); if( isNT() && TryEnterCriticalSection(&p->mutex) ){ p->owner = GetCurrentThreadId(); p->nRef++; rc = SQLITE_OK; }else{ rc = SQLITE_BUSY; } return rc; } Ralf ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------