309 |
timeval timeout; |
timeval timeout; |
310 |
|
|
311 |
while (true) { |
while (true) { |
312 |
|
#if CONFIG_PTHREAD_TESTCANCEL |
313 |
|
TestCancel(); |
314 |
|
#endif |
315 |
// check if some engine channel's parameter / status changed, if so notify the respective LSCP event subscribers |
// check if some engine channel's parameter / status changed, if so notify the respective LSCP event subscribers |
316 |
{ |
{ |
317 |
std::set<EngineChannel*> engineChannels = EngineChannelFactory::EngineChannelInstances(); |
std::set<EngineChannel*> engineChannels = EngineChannelFactory::EngineChannelInstances(); |
449 |
NotifyMutex.Unlock(); |
NotifyMutex.Unlock(); |
450 |
} |
} |
451 |
|
|
452 |
|
void LSCPServer::LockRTNotify() { |
453 |
|
RTNotifyMutex.Lock(); |
454 |
|
} |
455 |
|
|
456 |
|
void LSCPServer::UnlockRTNotify() { |
457 |
|
RTNotifyMutex.Unlock(); |
458 |
|
} |
459 |
|
|
460 |
int LSCPServer::EventSubscribers( std::list<LSCPEvent::event_t> events ) { |
int LSCPServer::EventSubscribers( std::list<LSCPEvent::event_t> events ) { |
461 |
int subs = 0; |
int subs = 0; |
462 |
SubscriptionMutex.Lock(); |
SubscriptionMutex.Lock(); |
2556 |
if ( win32FileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { |
if ( win32FileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { |
2557 |
throw Exception("Directory is specified"); |
throw Exception("Directory is specified"); |
2558 |
} |
} |
2559 |
#else |
#else |
2560 |
struct stat statBuf; |
struct stat statBuf; |
2561 |
int res = stat(Filename.c_str(), &statBuf); |
int res = stat(Filename.c_str(), &statBuf); |
2562 |
if (res) { |
if (res) { |