]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/room_ops.c
cdb_tick() called periodically
[citadel.git] / citadel / server / room_ops.c
index f61e1f12668b96577fa1c1cef0aafea63dba8821..301f5987295ca117742880891614b545d2a641a2 100644 (file)
@@ -886,17 +886,6 @@ int CtdlRenameRoom(char *old_name, char *new_name, int new_floor) {
                qrbuf.QRfloor = new_floor;
                CtdlPutRoom(&qrbuf);
 
-               begin_critical_section(S_CONFIG);
-       
-               // If baseroom/aideroom name changes, update config
-               if (!strncasecmp(old_name, CtdlGetConfigStr("c_baseroom"), ROOMNAMELEN)) {
-                       CtdlSetConfigStr("c_baseroom", new_name);
-               }
-               if (!strncasecmp(old_name, CtdlGetConfigStr("c_aideroom"), ROOMNAMELEN)) {
-                       CtdlSetConfigStr("c_aideroom", new_name);
-               }
-       
-               end_critical_section(S_CONFIG);
        
                // If the room name changed, then there are now two room
                // records, so we have to delete the old one.
@@ -909,6 +898,16 @@ int CtdlRenameRoom(char *old_name, char *new_name, int new_floor) {
 
        end_critical_section(S_ROOMS);
 
+       // If baseroom/aideroom name changes, update config
+       begin_critical_section(S_CONFIG);
+       if (!strncasecmp(old_name, CtdlGetConfigStr("c_baseroom"), ROOMNAMELEN)) {
+               CtdlSetConfigStr("c_baseroom", new_name);
+       }
+       if (!strncasecmp(old_name, CtdlGetConfigStr("c_aideroom"), ROOMNAMELEN)) {
+               CtdlSetConfigStr("c_aideroom", new_name);
+       }
+       end_critical_section(S_CONFIG);
+
        // Adjust the floor reference counts if necessary
        if (new_floor != old_floor) {
                lgetfloor(&flbuf, old_floor);