mirror of
https://github.com/github/codeql.git
synced 2026-07-05 11:35:30 +02:00
Some files that will change in #1736 have been spared. ./build -j4 target/jars/qlformat find ql/cpp/ql -name "*.ql" -print0 | xargs -0 target/jars/qlformat --input find ql/cpp/ql -name "*.qll" -print0 | xargs -0 target/jars/qlformat --input (cd ql && git checkout 'cpp/ql/src/semmle/code/cpp/ir/implementation/**/*SSA*.qll') buildutils-internal/scripts/pr-checks/sync-identical-files.py --latest
28 lines
666 B
Plaintext
28 lines
666 B
Plaintext
/**
|
|
* @name Use of delay function
|
|
* @description Task synchronization shall not be performed through the use of task delays.
|
|
* @kind problem
|
|
* @id cpp/jpl-c/thread-safety
|
|
* @problem.severity warning
|
|
* @tags correctness
|
|
* concurrency
|
|
* external/jpl
|
|
*/
|
|
|
|
import cpp
|
|
|
|
class ForbiddenCall extends FunctionCall {
|
|
ForbiddenCall() {
|
|
exists(string name | name = this.getTarget().getName() |
|
|
name = "task_delay" or
|
|
name = "taskDelay" or
|
|
name = "sleep" or
|
|
name = "nanosleep" or
|
|
name = "clock_nanosleep"
|
|
)
|
|
}
|
|
}
|
|
|
|
from ForbiddenCall call
|
|
select call, "Task synchronization shall not be performed through task delays."
|