dca_interface  6.3.4
url_samples/urldbsample_extended/linux/perform_update_thread.cpp File Reference

Implementation of the update thread. More...

#include "dca/dca_base.h"
#include "../mythreads.h"
#include <sys/time.h>
#include <fcntl.h>
#include <cerrno>

Go to the source code of this file.

Functions

static void * PerformUpdateThreadWorkerFunction (void *pThreadData)
 
void createPerformUpdateThread (const UpdateModule &aUpdateModule)
 Starts up the update thread and supplies the given UpdateModule. More...
 
void shutdownPerformUpdateThread ()
 Shuts down the previously started update thread. More...
 
void mySleep (unsigned nTimeMs)
 

Variables

static UpdateThreadData S_updateThreadData
 
static pthread_t S_hUpdateThread = 0
 

Detailed Description

Implementation of the update thread.

Definition in file url_samples/urldbsample_extended/linux/perform_update_thread.cpp.

Function Documentation

◆ createPerformUpdateThread()

void createPerformUpdateThread ( const dca::UpdateModule aUpdateModule)

Starts up the update thread and supplies the given UpdateModule.

Parameters
aUpdateModuleAn initialized UpdateModule

Starts up an update thread that calls the aUpdateModule::performUpdate() method in a loop.

The called function will check engine and content updates automatically and install them in the provided dca/init directory.

It can be stopped by a call to shutdownPerformUpdateThread

Note
There are separate implementations for Windows and Linux distributions.
See also
shutdownPerformUpdateThread

Definition at line 67 of file url_samples/urldbsample_extended/linux/perform_update_thread.cpp.

◆ shutdownPerformUpdateThread()

void shutdownPerformUpdateThread ( )

Shuts down the previously started update thread.

Shutting down will stop the thread safely.

If an update is already in progress the function will return as soon as possible but will not force-terminate the thread.

Note
To force any running update processes to stop immediately a call to DcaInstance::signal() should be invoked.
There are separate implementations for Windows and Linux distributions.
See also
createPerformUpdateThread

Definition at line 74 of file url_samples/urldbsample_extended/linux/perform_update_thread.cpp.