$Log$
+ Revision 620.3 2004/03/29 16:05:02 ajc
+ * begin_critical_section() -- bypass transaction checking for S_FLOORCACHE
+ sections, to avoid crashing the db layer
+
Revision 620.2 2004/03/29 02:33:19 error
* citadel.spec: major modifications for 6.xx (hasn't been updated since 5.xx)
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-
{
/* lprintf(CTDL_DEBUG, "begin_critical_section(%d)\n", which_one); */
-
- /* ensure nobody ever tries to do a critical section within a
- transaction; this could lead to deadlock. */
+ /* For all types of critical sections except those listed here,
+ * ensure nobody ever tries to do a critical section within a
+ * transaction; this could lead to deadlock.
+ */
+ if ( (which_one != S_FLOORCACHE)
#ifdef DEBUG_MEMORY_LEAKS
- if (which_one != S_DEBUGMEMLEAKS) {
+ && (which_one != S_DEBUGMEMLEAKS)
#endif
+ ) {
cdb_check_handles();
-#ifdef DEBUG_MEMORY_LEAKS
}
-#endif
pthread_mutex_lock(&Critters[which_one]);
}
*/
void end_critical_section(int which_one)
{
- /* lprintf(CTDL_DEBUG, "end_critical_section(%d)\n", which_one); */
pthread_mutex_unlock(&Critters[which_one]);
}