| 202 | /************************************************************************/ |
| 203 | |
| 204 | struct GWKJobStruct |
| 205 | { |
| 206 | std::mutex &mutex; |
| 207 | std::condition_variable &cv; |
| 208 | int counterSingleThreaded = 0; |
| 209 | int &counter; |
| 210 | bool &stopFlag; |
| 211 | GDALWarpKernel *poWK = nullptr; |
| 212 | int iYMin = 0; |
| 213 | int iYMax = 0; |
| 214 | int (*pfnProgress)(GWKJobStruct *psJob) = nullptr; |
| 215 | void *pTransformerArg = nullptr; |
| 216 | // used by GWKRun() to assign the proper pTransformerArg |
| 217 | void (*pfnFunc)(void *) = nullptr; |
| 218 | |
| 219 | GWKJobStruct(std::mutex &mutex_, std::condition_variable &cv_, |
| 220 | int &counter_, bool &stopFlag_) |
| 221 | : mutex(mutex_), cv(cv_), counter(counter_), stopFlag(stopFlag_) |
| 222 | { |
| 223 | } |
| 224 | }; |
| 225 | |
| 226 | struct GWKThreadData |
| 227 | { |