@@ -40,66 +40,58 @@ def __init__(self) :
40
40
# ------------------------------------------------------------------------
41
41
42
42
def _incThreadsCount (self ) :
43
- self ._opLock .acquire ()
44
- self ._threadsCount += 1
45
- self ._opLock .release ()
43
+ with self ._opLock :
44
+ self ._threadsCount += 1
46
45
47
46
# ------------------------------------------------------------------------
48
47
49
48
def _decThreadsCount (self ) :
50
- self ._opLock .acquire ()
51
- self ._threadsCount -= 1
52
- self ._opLock .release ()
49
+ with self ._opLock :
50
+ self ._threadsCount -= 1
53
51
54
52
# ------------------------------------------------------------------------
55
53
56
54
def _addSocket (self , socket , asyncSocket ) :
57
55
if socket :
58
56
socketno = socket .fileno ()
59
- self ._opLock .acquire ()
60
- ok = (socketno not in self ._asyncSockets )
61
- if ok :
62
- self ._asyncSockets [socketno ] = asyncSocket
63
- self ._opLock .release ()
64
- return ok
57
+ with self ._opLock :
58
+ if socketno not in self ._asyncSockets :
59
+ self ._asyncSockets [socketno ] = asyncSocket
60
+ return True
65
61
return False
66
62
67
63
# ------------------------------------------------------------------------
68
64
69
65
def _removeSocket (self , socket ) :
70
66
if socket :
71
67
socketno = socket .fileno ()
72
- self ._opLock .acquire ()
73
- ok = (socketno in self ._asyncSockets )
74
- if ok :
75
- del self ._asyncSockets [socketno ]
76
- if socket in self ._readList :
77
- self ._readList .remove (socket )
78
- if socket in self ._writeList :
79
- self ._writeList .remove (socket )
80
- self ._opLock .release ()
81
- return ok
68
+ with self ._opLock :
69
+ if socketno in self ._asyncSockets :
70
+ del self ._asyncSockets [socketno ]
71
+ if socket in self ._readList :
72
+ self ._readList .remove (socket )
73
+ if socket in self ._writeList :
74
+ self ._writeList .remove (socket )
75
+ return True
82
76
return False
83
77
84
78
# ------------------------------------------------------------------------
85
79
86
80
def _socketListAdd (self , socket , socketsList ) :
87
- self ._opLock .acquire ()
88
- ok = (socket .fileno () in self ._asyncSockets and socket not in socketsList )
89
- if ok :
90
- socketsList .append (socket )
91
- self ._opLock .release ()
92
- return ok
81
+ with self ._opLock :
82
+ if socket .fileno () in self ._asyncSockets and socket not in socketsList :
83
+ socketsList .append (socket )
84
+ return True
85
+ return False
93
86
94
87
# ------------------------------------------------------------------------
95
88
96
89
def _socketListRemove (self , socket , socketsList ) :
97
- self ._opLock .acquire ()
98
- ok = (socket .fileno () in self ._asyncSockets and socket in socketsList )
99
- if ok :
100
- socketsList .remove (socket )
101
- self ._opLock .release ()
102
- return ok
90
+ with self ._opLock :
91
+ if socket .fileno () in self ._asyncSockets and socket in socketsList :
92
+ socketsList .remove (socket )
93
+ return True
94
+ return False
103
95
104
96
# ------------------------------------------------------------------------
105
97
@@ -116,22 +108,27 @@ def _processWaitEvents(self) :
116
108
except KeyboardInterrupt as ex :
117
109
raise ex
118
110
except :
119
- print ('a' )
120
111
continue
121
112
if not self ._processing :
122
113
break
123
114
for socketsList in ex , wr , rd :
124
115
for socket in socketsList :
125
- asyncSocket = self ._asyncSockets .get (socket .fileno (), None )
126
- if asyncSocket and self ._socketListAdd (socket , self ._handlingList ) :
127
- if socketsList is ex :
128
- asyncSocket .OnExceptionalCondition ()
129
- elif socketsList is wr :
130
- self ._socketListRemove (socket , self ._writeList )
131
- asyncSocket .OnReadyForWriting ()
132
- else :
133
- asyncSocket .OnReadyForReading ()
134
- self ._socketListRemove (socket , self ._handlingList )
116
+ with self ._opLock :
117
+ asyncSocket = self ._asyncSockets .get (socket .fileno (), None )
118
+ if asyncSocket :
119
+ if self ._socketListAdd (socket , self ._handlingList ) :
120
+ if socketsList is ex :
121
+ asyncSocket .OnExceptionalCondition ()
122
+ elif socketsList is wr :
123
+ self ._socketListRemove (socket , self ._writeList )
124
+ asyncSocket .OnReadyForWriting ()
125
+ else :
126
+ asyncSocket .OnReadyForReading ()
127
+ self ._socketListRemove (socket , self ._handlingList )
128
+ else :
129
+ self ._socketListRemove (socket , self ._readList )
130
+ self ._socketListRemove (socket , self ._writeList )
131
+ socket .close ()
135
132
sec = perf_counter ()
136
133
if sec > timeSec + XAsyncSocketsPool ._CHECK_SEC_INTERVAL :
137
134
timeSec = sec
0 commit comments