00001 /*- 00002 * See the file LICENSE for redistribution information. 00003 * 00004 * Copyright (c) 1996, 1997, 1998, 1999, 2000 00005 * Sleepycat Software. All rights reserved. 00006 */ 00007 00008 #include "config.h" 00009 00010 #ifndef lint 00011 static const char revid[] = "$Id: lock__conflict_8c-source.html,v 1.1 2008年06月08日 10:19:56 sebdiaz Exp $"; 00012 #endif /* not lint */ 00013 00014 #ifndef NO_SYSTEM_INCLUDES 00015 #include <sys/types.h> 00016 #endif 00017 00018 #include "db_int.h" 00019 00020 /* 00021 * The conflict arrays are set up such that the row is the lock you 00022 * are holding and the column is the lock that is desired. 00023 */ 00024 const u_int8_t CDB_db_rw_conflicts[] = { 00025 /* N R W */ 00026 /* N */ 0, 0, 0, 00027 /* R */ 0, 0, 1, 00028 /* W */ 0, 1, 1 00029 }; 00030 00031 const u_int8_t CDB_db_riw_conflicts[] = { 00032 /* N S X IX IS SIX */ 00033 /* N */ 0, 0, 0, 0, 0, 0, 00034 /* S */ 0, 0, 1, 1, 0, 1, 00035 /* X */ 1, 1, 1, 1, 1, 1, 00036 /* IX */ 0, 1, 1, 0, 0, 0, 00037 /* IS */ 0, 0, 1, 0, 0, 0, 00038 /* SIX */ 0, 1, 1, 0, 0, 0 00039 };