Commit ba26958
committed
src: add environment cleanup hooks
This adds pairs of methods to the `Environment` class and to public APIs
which can add and remove cleanup handlers.
Unlike `AtExit`, this API targets addon developers rather than
embedders, giving them (and Node’s internals) the ability to register
per-`Environment` cleanup work.
We may want to replace `AtExit` with this API at some point.
Many thanks for Stephen Belanger for reviewing the original version of
this commit in the Ayo.js project.
Refs: ayojs/ayo#82
PR-URL: #19377
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>1 parent cecec46 commit ba26958Copy full SHA for ba26958
File tree
Expand file treeCollapse file tree
11 files changed
+241
-1
lines changedOpen diff view settings
Filter options
- doc/api
- src
- test/addons-napi/test_cleanup_hook
Expand file treeCollapse file tree
11 files changed
+241
-1
lines changedOpen diff view settings
Collapse file
+52Lines changed: 52 additions & 0 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
886 | 886 | |
887 | 887 | |
888 | 888 | |
| 889 | + |
| 890 | + |
| 891 | + |
| 892 | + |
| 893 | + |
| 894 | + |
| 895 | + |
| 896 | + |
| 897 | + |
| 898 | + |
| 899 | + |
| 900 | + |
| 901 | + |
| 902 | + |
| 903 | + |
| 904 | + |
| 905 | + |
| 906 | + |
| 907 | + |
| 908 | + |
| 909 | + |
| 910 | + |
| 911 | + |
| 912 | + |
| 913 | + |
| 914 | + |
| 915 | + |
| 916 | + |
| 917 | + |
| 918 | + |
| 919 | + |
| 920 | + |
| 921 | + |
| 922 | + |
| 923 | + |
| 924 | + |
| 925 | + |
| 926 | + |
| 927 | + |
| 928 | + |
| 929 | + |
| 930 | + |
| 931 | + |
| 932 | + |
| 933 | + |
| 934 | + |
| 935 | + |
| 936 | + |
| 937 | + |
| 938 | + |
| 939 | + |
| 940 | + |
889 | 941 | |
890 | 942 | |
891 | 943 | |
|
Collapse file
+23Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
629 | 629 | |
630 | 630 | |
631 | 631 | |
| 632 | + |
| 633 | + |
| 634 | + |
| 635 | + |
| 636 | + |
| 637 | + |
| 638 | + |
| 639 | + |
| 640 | + |
| 641 | + |
| 642 | + |
| 643 | + |
| 644 | + |
| 645 | + |
| 646 | + |
| 647 | + |
| 648 | + |
| 649 | + |
| 650 | + |
| 651 | + |
| 652 | + |
| 653 | + |
| 654 | + |
632 | 655 | |
633 | 656 | |
634 | 657 | |
|
Collapse file
+29Lines changed: 29 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
305 | 305 | |
306 | 306 | |
307 | 307 | |
| 308 | + |
| 309 | + |
| 310 | + |
| 311 | + |
| 312 | + |
| 313 | + |
| 314 | + |
| 315 | + |
| 316 | + |
| 317 | + |
| 318 | + |
| 319 | + |
| 320 | + |
| 321 | + |
| 322 | + |
| 323 | + |
| 324 | + |
| 325 | + |
| 326 | + |
| 327 | + |
| 328 | + |
| 329 | + |
| 330 | + |
| 331 | + |
| 332 | + |
| 333 | + |
| 334 | + |
| 335 | + |
| 336 | + |
308 | 337 | |
309 | 338 | |
310 | 339 | |
|
Collapse file
+31Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
42 | 42 | |
43 | 43 | |
44 | 44 | |
| 45 | + |
45 | 46 | |
46 | 47 | |
47 | 48 | |
| ||
775 | 776 | |
776 | 777 | |
777 | 778 | |
| 779 | + |
| 780 | + |
| 781 | + |
| 782 | + |
778 | 783 | |
779 | 784 | |
780 | 785 | |
| ||
863 | 868 | |
864 | 869 | |
865 | 870 | |
| 871 | + |
| 872 | + |
| 873 | + |
| 874 | + |
| 875 | + |
| 876 | + |
| 877 | + |
| 878 | + |
| 879 | + |
| 880 | + |
| 881 | + |
| 882 | + |
| 883 | + |
| 884 | + |
| 885 | + |
| 886 | + |
| 887 | + |
| 888 | + |
| 889 | + |
| 890 | + |
| 891 | + |
| 892 | + |
| 893 | + |
| 894 | + |
| 895 | + |
| 896 | + |
866 | 897 | |
867 | 898 | |
868 | 899 | |
|
Collapse file
+19-1Lines changed: 19 additions & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
908 | 908 | |
909 | 909 | |
910 | 910 | |
| 911 | + |
| 912 | + |
| 913 | + |
| 914 | + |
| 915 | + |
| 916 | + |
| 917 | + |
| 918 | + |
| 919 | + |
| 920 | + |
| 921 | + |
| 922 | + |
| 923 | + |
| 924 | + |
| 925 | + |
| 926 | + |
911 | 927 | |
912 | 928 | |
913 | 929 | |
| ||
4463 | 4479 | |
4464 | 4480 | |
4465 | 4481 | |
4466 | | - |
| 4482 | + |
4467 | 4483 | |
4468 | 4484 | |
4469 | 4485 | |
| ||
4561 | 4577 | |
4562 | 4578 | |
4563 | 4579 | |
| 4580 | + |
| 4581 | + |
4564 | 4582 | |
4565 | 4583 | |
4566 | 4584 | |
|
Collapse file
+13Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
583 | 583 | |
584 | 584 | |
585 | 585 | |
| 586 | + |
| 587 | + |
| 588 | + |
| 589 | + |
| 590 | + |
| 591 | + |
| 592 | + |
| 593 | + |
| 594 | + |
| 595 | + |
| 596 | + |
| 597 | + |
| 598 | + |
586 | 599 | |
587 | 600 | |
588 | 601 | |
|
Collapse file
+22Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
902 | 902 | |
903 | 903 | |
904 | 904 | |
| 905 | + |
| 906 | + |
| 907 | + |
| 908 | + |
| 909 | + |
| 910 | + |
| 911 | + |
| 912 | + |
| 913 | + |
| 914 | + |
| 915 | + |
| 916 | + |
| 917 | + |
| 918 | + |
| 919 | + |
| 920 | + |
| 921 | + |
| 922 | + |
| 923 | + |
| 924 | + |
| 925 | + |
| 926 | + |
905 | 927 | |
906 | 928 | |
907 | 929 | |
|
Collapse file
+7Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
118 | 118 | |
119 | 119 | |
120 | 120 | |
| 121 | + |
| 122 | + |
| 123 | + |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | + |
121 | 128 | |
122 | 129 | |
123 | 130 | |
|
Collapse file
test/addons-napi/test_cleanup_hook/binding.cc
Copy file name to clipboard+24Lines changed: 24 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
Collapse file
test/addons-napi/test_cleanup_hook/binding.gyp
Copy file name to clipboard+9Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
0 commit comments