Changeset 5353 for trunk/oscam.c
- Timestamp:
- 06/04/11 19:40:33 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/oscam.c
r5349 r5353 43 43 pthread_mutex_t system_lock; 44 44 pthread_mutex_t clientlist_lock; 45 pthread_mutex_t readerlist_lock; 45 46 pthread_mutex_t fakeuser_lock; 46 47 pthread_key_t getclient; … … 973 974 if(pthread_mutex_init(&system_lock, NULL)) ok = 0; 974 975 if(pthread_mutex_init(&clientlist_lock, NULL)) ok = 0; 976 if(pthread_mutex_init(&readerlist_lock, NULL)) ok = 0; 975 977 if(pthread_mutex_init(&fakeuser_lock, NULL)) ok = 0; 976 978 if(pthread_mutex_init(&sc8in1_lock, NULL)) ok = 0; … … 1241 1243 #endif 1242 1244 1243 static void remove_reader_from_active(struct s_reader *rdr) { 1244 struct s_reader *rdr2, *prv = NULL; 1245 for (rdr2=first_active_reader; rdr2 ; rdr2=rdr2->next) { 1246 if (rdr2==rdr) { 1247 if (prv) prv->next = rdr2->next; 1248 else first_active_reader = rdr2->next; 1249 break; 1250 } 1251 prv = rdr2; 1252 } 1253 } 1254 1255 static void add_reader_to_active(struct s_reader *rdr) { 1256 struct s_reader *rdr2; 1257 rdr->next = NULL; 1258 if (first_active_reader) { 1259 for (rdr2=first_active_reader; rdr2->next ; rdr2=rdr2->next) ; //search last element 1260 rdr2->next = rdr; 1261 } else first_active_reader = rdr; 1245 void remove_reader_from_active(struct s_reader *rdr) { 1246 struct s_reader *rdr2, *prv = NULL; 1247 cs_lock(&readerlist_lock); 1248 for (rdr2=first_active_reader; rdr2 ; rdr2=rdr2->next) { 1249 if (rdr2==rdr) { 1250 if (prv) prv->next = rdr2->next; 1251 else first_active_reader = rdr2->next; 1252 break; 1253 } 1254 prv = rdr2; 1255 } 1256 cs_unlock(&readerlist_lock); 1257 } 1258 1259 void add_reader_to_active(struct s_reader *rdr) { 1260 struct s_reader *rdr2; 1261 rdr->next = NULL; 1262 cs_lock(&readerlist_lock); 1263 if (first_active_reader) { 1264 for (rdr2=first_active_reader; rdr2->next ; rdr2=rdr2->next) ; //search last element 1265 rdr2->next = rdr; 1266 } else first_active_reader = rdr; 1267 cs_unlock(&readerlist_lock); 1262 1268 } 1263 1269
Note:
See TracChangeset
for help on using the changeset viewer.