tools: add cocci patch for thread cancel api changes

Add Quentin's cocci patch to align code with the changes
to the event cancel api. Also added a README to explain what
this collection of cocci patches is for.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
Signed-off-by: Mark Stapp <mjs@voltanet.io>
This commit is contained in:
Mark Stapp 2020-09-22 12:02:28 -04:00
parent 5047884528
commit 70c583eb81
2 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,14 @@
Coccinelle patches
==================
This collection of coccinelle patches represents some of the broader,
codebase-wide changes that have been made. If you maintain a fork of
FRR and find that your codebase needs to be updated to align with
these changes, the coccinelle tool should help you make that update.
The coccinelle tool is documented at:
https://coccinelle.gitlabpages.inria.fr/website/
To run a coccinelle patch script:
spatch --sp-file tools/coccinelle/semicolon.cocci zebra/*.c

View File

@ -0,0 +1,68 @@
@ptrupdate@
expression E;
@@
- thread_cancel(E);
+ thread_cancel(&E);
@nullcheckremove depends on ptrupdate@
expression E;
@@
thread_cancel(&E);
- E = NULL;
@cancelguardremove depends on nullcheckremove@
expression E;
@@
- if (E)
- {
thread_cancel(&E);
- }
@cancelguardremove2 depends on nullcheckremove@
expression E;
@@
- if (E != NULL)
- {
thread_cancel(&E);
- }
@cancelguardremove3 depends on nullcheckremove@
expression E;
@@
- if (E)
thread_cancel(&E);
@cancelguardremove4 depends on nullcheckremove@
expression E;
@@
- if (E != NULL)
thread_cancel(&E);
@replacetimeroff@
expression E;
@@
- THREAD_TIMER_OFF(E);
+ thread_cancel(&E);
@replacewriteoff@
expression E;
@@
- THREAD_WRITE_OFF(E);
+ thread_cancel(&E);
@replacereadoff@
expression E;
@@
- THREAD_READ_OFF(E);
+ thread_cancel(&E);
@replacethreadoff@
expression E;
@@
- THREAD_OFF(E);
+ thread_cancel(&E);