fix: correctly set a Request::RunState::job_run flag to the background request
The flag should be set to the task.request and not to the cur->request. The cur->request could have been already changed by the main thread.
This commit is contained in:
parent
cf383fa026
commit
6d256e6512
|
@ -273,26 +273,20 @@ void Job::DoJob(JobTask & task, size_t priority)
|
|||
if( task.request )
|
||||
{
|
||||
Cur local_cur;
|
||||
|
||||
// is this correct? we can read the task.request->session ... from the second thread?
|
||||
// chyba tak bo ta struktura zostaje na stosie specjalnie dla joba do uzytku
|
||||
|
||||
local_cur.request = task.request;
|
||||
local_cur.request->run_state = Request::RunState::job_run;
|
||||
local_cur.session = task.request->session;
|
||||
local_cur.mount = task.request->mount;
|
||||
cur->request->run_state = Request::RunState::job_run;
|
||||
|
||||
res = plugin->Call(model_connector, &log, &local_cur, WINIX_JOB, &task.job, nullptr, task.job_type, task.job_id);
|
||||
log << logsave;
|
||||
|
||||
{
|
||||
Winix::Lock lock(synchro);
|
||||
cur->request = local_cur.request;
|
||||
cur->session = local_cur.session;
|
||||
cur->mount = local_cur.mount;
|
||||
// winix templates functions uses its own cur (global pointer in TemplatesFunctions namespace)
|
||||
// so we have to set it correctly
|
||||
Cur old_cur = *cur;
|
||||
*cur = local_cur;
|
||||
DoRequestContinuationJob(task, priority);
|
||||
*cur = old_cur;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue