Esempio n. 1
0
 private void WriteToSharedMemory()
 {
     try
     {
         if (m_SharedMemory == null)
         {
             m_SharedMemory = new Ipc.SharedMemory("AresSettingsMemory" + m_ID, Data);
         }
         else
         {
             m_SharedMemory.Lock();
             try
             {
                 m_SharedMemory.AddObject(Data, true);
             }
             finally
             {
                 m_SharedMemory.Unlock();
             }
         }
         m_OwnWaitHandle.Set();
     }
     catch (Ares.Ipc.SharedMemoryException)
     {
     }
 }
Esempio n. 2
0
 private bool ReadFromSharedMemory()
 {
     try
     {
         String id = "AresSettingsMemory" + (m_ID == PlayerID ? EditorID : PlayerID);
         using (Ares.Ipc.SharedMemory mem = new Ipc.SharedMemory(id))
         {
             SettingsData s = null;
             mem.Lock();
             try
             {
                 s = (SettingsData)mem.GetObject();
             }
             finally
             {
                 mem.Unlock();
             }
             bool fundamentalChange = CompareForFundamentalChange(s);
             lock (syncObject)
             {
                 Data = s;
             }
             if (SettingsChanged != null)
             {
                 SettingsChanged(this, new SettingsEventArgs(fundamentalChange));
             }
             return(true);
         }
     }
     catch (Ipc.SharedMemoryException)
     {
         return(false);
     }
 }