mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-07 01:12:47 +08:00
Tracking and deleting thread pointers
This commit is contained in:
@@ -183,6 +183,8 @@ int main( int argc, const char** argv )
|
||||
|
||||
pid_t pid;
|
||||
|
||||
std::vector<tthread::thread*> threads;
|
||||
|
||||
for (int i = 0; i < daemon_config.stream_urls.size(); i++)
|
||||
{
|
||||
pid = fork();
|
||||
@@ -203,6 +205,7 @@ int main( int argc, const char** argv )
|
||||
tdata->clock_on = clockOn;
|
||||
|
||||
tthread::thread* thread_recognize = new tthread::thread(streamRecognitionThread, (void*) tdata);
|
||||
threads.push_back(thread_recognize);
|
||||
|
||||
if (daemon_config.uploadData)
|
||||
{
|
||||
@@ -210,21 +213,21 @@ int main( int argc, const char** argv )
|
||||
UploadThreadData* udata = new UploadThreadData();
|
||||
udata->upload_url = daemon_config.upload_url;
|
||||
tthread::thread* thread_upload = new tthread::thread(dataUploadThread, (void*) udata );
|
||||
delete(thread_upload);
|
||||
threads.push_back(thread_upload);
|
||||
}
|
||||
delete(thread_recognize);
|
||||
|
||||
break;
|
||||
}
|
||||
// Parent process will continue and spawn more children
|
||||
}
|
||||
|
||||
|
||||
|
||||
while (daemon_active)
|
||||
{
|
||||
usleep(30000);
|
||||
}
|
||||
alpr::sleep_ms(30);
|
||||
|
||||
for (uint16_t i = 0; i < threads.size(); i++)
|
||||
delete threads[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user