Commit df6394f
committed
Accessors for root_task, current_task, safe_restore in TLS
In code which may be compiled against one Julia version but then gets
loaded in another (e.g. due to an update), it is problematic to directly
access members of jl_ptls_t, as this structure frequently changes
between Julia versions
The accessor function `jl_get_current_task` and `jl_get_root_task` avoid
this.
Note that macros `jl_current_task` and `jl_root_task` exist, but since
those are compiled into the code which includes `julia.h`, they do not
deal with the situation described above.
No alternatives exist for `jl_get_safe_restore` and
`jl_set_safe_restore`.1 parent acd0e83 commit df6394f
3 files changed
Lines changed: 23 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2044 | 2044 | | |
2045 | 2045 | | |
2046 | 2046 | | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
2047 | 2053 | | |
2048 | 2054 | | |
2049 | 2055 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1018 | 1018 | | |
1019 | 1019 | | |
1020 | 1020 | | |
1021 | | - | |
1022 | 1021 | | |
1023 | 1022 | | |
1024 | 1023 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
609 | 609 | | |
610 | 610 | | |
611 | 611 | | |
612 | | - | |
613 | | - | |
| 612 | + | |
614 | 613 | | |
615 | | - | |
| 614 | + | |
| 615 | + | |
616 | 616 | | |
617 | 617 | | |
618 | | - | |
| 618 | + | |
619 | 619 | | |
620 | 620 | | |
621 | | - | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
622 | 634 | | |
623 | 635 | | |
624 | 636 | | |
| |||
0 commit comments