/[svn]/linuxsampler/trunk/src/shell/TerminalCtrl.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/shell/TerminalCtrl.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2516 by schoenebeck, Wed Feb 5 20:45:18 2014 UTC revision 2517 by schoenebeck, Fri Feb 7 19:53:09 2014 UTC
# Line 15  Line 15 
15  #include <assert.h>  #include <assert.h>
16  #include <sys/ioctl.h>  #include <sys/ioctl.h>
17  #include <stdio.h>  #include <stdio.h>
18    #include "../common/Mutex.h"
19    
20    using namespace LinuxSampler;
21    
22  ///////////////////////////////////////////////////////////////////////////  ///////////////////////////////////////////////////////////////////////////
23  // class 'TerminalSetting'  // class 'TerminalSetting'
24    
25    static Mutex g_mutexReferences;
26  static std::map<void*,int> g_terminalSettingReferences;  static std::map<void*,int> g_terminalSettingReferences;
27    
28  static termios* _newTermios() {  static termios* _newTermios() {
29      termios* p = new termios;      termios* p = new termios;
30        LockGuard lock(g_mutexReferences);
31      g_terminalSettingReferences[p] = 1;      g_terminalSettingReferences[p] = 1;
32      return p;      return p;
33  }  }
34    
35  static void _releaseTermiosRef(void* p) {  static void _releaseTermiosRef(void* p) {
36      if (!p) return;      if (!p) return;
37        LockGuard lock(g_mutexReferences);
38      std::map<void*,int>::iterator it = g_terminalSettingReferences.find(p);      std::map<void*,int>::iterator it = g_terminalSettingReferences.find(p);
39      assert(it != g_terminalSettingReferences.end());      assert(it != g_terminalSettingReferences.end());
40      assert(it->second > 0);      assert(it->second > 0);
# Line 41  static void _releaseTermiosRef(void* p) Line 47  static void _releaseTermiosRef(void* p)
47    
48  static termios* _bumpTermiosRef(void* p) {  static termios* _bumpTermiosRef(void* p) {
49      if (!p) return NULL;      if (!p) return NULL;
50        LockGuard lock(g_mutexReferences);
51      std::map<void*,int>::iterator it = g_terminalSettingReferences.find(p);      std::map<void*,int>::iterator it = g_terminalSettingReferences.find(p);
52      assert(it != g_terminalSettingReferences.end());      assert(it != g_terminalSettingReferences.end());
53      assert(it->second > 0);      assert(it->second > 0);

Legend:
Removed from v.2516  
changed lines
  Added in v.2517

  ViewVC Help
Powered by ViewVC