| 487 | *****************************************************************************/ |
| 488 | |
| 489 | bool AsyncHttpClient::createProcessTask() |
| 490 | { |
| 491 | bool isSuccessful = false; |
| 492 | |
| 493 | if (nullptr == m_processTaskSemaphore) |
| 494 | { |
| 495 | /* Create binary semaphore to signal task exit. */ |
| 496 | m_processTaskSemaphore = xSemaphoreCreateBinary(); |
| 497 | |
| 498 | if (nullptr != m_processTaskSemaphore) |
| 499 | { |
| 500 | BaseType_t osRet = pdFAIL; |
| 501 | |
| 502 | /* Task shall run */ |
| 503 | m_processTaskExit = false; |
| 504 | |
| 505 | osRet = xTaskCreateUniversal(processTask, |
| 506 | "AsyncHttpClientTask", |
| 507 | PROCESS_TASK_STACK_SIZE, |
| 508 | this, |
| 509 | PROCESS_TASK_PRIORITY, |
| 510 | &m_processTaskHandle, |
| 511 | PROCESS_TASK_RUN_CORE); |
| 512 | |
| 513 | /* Couldn't task be created? */ |
| 514 | if (pdPASS != osRet) |
| 515 | { |
| 516 | vSemaphoreDelete(m_processTaskSemaphore); |
| 517 | m_processTaskSemaphore = nullptr; |
| 518 | } |
| 519 | else |
| 520 | { |
| 521 | (void)xSemaphoreGive(m_processTaskSemaphore); |
| 522 | isSuccessful = true; |
| 523 | } |
| 524 | } |
| 525 | } |
| 526 | |
| 527 | return isSuccessful; |
| 528 | } |
| 529 | |
| 530 | void AsyncHttpClient::destroyProcessTask() |
| 531 | { |
nothing calls this directly
no outgoing calls
no test coverage detected