diff options
Diffstat (limited to 'indra/mac_updater')
| -rw-r--r-- | indra/mac_updater/mac_updater.cpp | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/indra/mac_updater/mac_updater.cpp b/indra/mac_updater/mac_updater.cpp index 91bf24ec11..ecef6e6b77 100644 --- a/indra/mac_updater/mac_updater.cpp +++ b/indra/mac_updater/mac_updater.cpp @@ -971,10 +971,12 @@ void *updatethreadproc(void*)  			if(len < sizeof(temp)-1)  			{  				// End of file or error. -				if(pclose(mounter) != 0) +				int result = pclose(mounter); +				if(result != 0)  				{ -					llinfos << "Failed to mount disk image, exiting."<< llendl; -					throw 0; +					// NOTE: We used to abort here, but pclose() started returning  +					// -1, possibly when the size of the DMG passed a certain point  +					llinfos << "Unexpected result closing pipe: " << result << llendl;   				}  				mounter = NULL;  			} @@ -1000,6 +1002,7 @@ void *updatethreadproc(void*)  		else  		{  			llinfos << "Disk image device node not found!" << llendl; +			throw 0;   		}  		// Get an FSRef to the new application on the disk image | 
