Update of /cvsroot/radmind/radmind-assistant/rsm
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv21589
Modified Files:
RAServerController.m
Log Message:
Fix: 1554962 Server Manager can't run over the weekend.
Mitigate problems when the session tmpdir goes missing by testing for its presence and creating it as needed.
Index: RAServerController.m
===================================================================
RCS file: /cvsroot/radmind/radmind-assistant/rsm/RAServerController.m,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** RAServerController.m 12 Dec 2005 16:26:02 -0000 1.17
--- RAServerController.m 20 Oct 2006 14:32:06 -0000 1.18
***************
*** 150,153 ****
--- 150,174 ----
- ( NSString * )sessionTmpDirectory
{
+ NSString *tmpdir;
+ BOOL tmpDirExists = NO, isDir = YES;
+
+ /*
+ * make sure the tmpdir exists. If it's not there, create a new one.
+ */
+ if ( _rsmTmpDirectory != nil ) {
+ tmpDirExists = [[ NSFileManager defaultManager ]
+ fileExistsAtPath: _rsmTmpDirectory
+ isDirectory: &isDir ];
+ }
+
+ if ( _rsmTmpDirectory == nil || !tmpDirExists ) {
+ tmpdir = [[ NSFileManager defaultManager ]
+ makeTemporaryDirectory: @"/tmp/.rsm.XXXXXX"
+ withMode: (mode_t)0700 ];
+ if ( tmpdir == nil ) {
+ exit( 2 );
+ }
+ [ self setSessionTmpDirectory: tmpdir ];
+ }
return( _rsmTmpDirectory );
}
***************
*** 530,535 ****
- ( IBAction )reloadServerInformation: ( id )sender
{
- NSString *tmpdir = nil;
-
if ( [ self isConfigFileEdited ] ) {
int rc;
--- 551,554 ----
***************
*** 562,576 ****
[ hostsTable setDrawsStripes: YES ];
- /* create tmpdir for session */
- if ( [ self sessionTmpDirectory ] == nil ) {
- tmpdir = [[ NSFileManager defaultManager ]
- makeTemporaryDirectory: @"/tmp/.rsm.XXXXXX"
- withMode: (mode_t)0700 ];
- if ( tmpdir == nil ) {
- exit( 2 );
- }
- [ self setSessionTmpDirectory: tmpdir ];
- }
-
[ self loadServerInfoWithCommand: RSM_REFRESHALL
arguments: [ NSArray arrayWithObjects:
--- 581,584 ----
|