Commit Graph

51 Commits

Author SHA1 Message Date
Juan Linietsky 5e512b705e Support threads in the script debugger
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.

This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
2023-07-26 12:06:45 +02:00
Rémi Verschelde 81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde 346f1ab86b
Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
Rémi Verschelde 37d1dfef9d
Merge pull request #78000 from RandomShaper/let_users_mess_up
Let user scripts disable thread safety checks
2023-06-10 12:12:13 +02:00
Pedro J. Estébanez 2b001db76e Let user scripts disable thread safety checks 2023-06-09 18:24:01 +02:00
Michael Alexsander c1e5001cf6
Remove inaccuracy about re-using `Thread`s in its doc 2023-06-07 16:39:53 -03:00
VolTer 04562662d3 Overhaul the top sections of the class reference (Core classes) 2023-05-19 07:04:48 +02:00
Pedro J. Estébanez 6189ab5291 Robustify multi-threading primitives 2023-05-12 19:04:57 +02:00
Isaac Clerencia 2a4f38d54f Clarify Thread documentation
The current documentation uses the term "running" for two different things.

In the description of get_id() it claims "it will return empty string if the thread is not running", but it actually will return the thread id until wait_to_finish is called.

In the description of is_alive() it claims "it will return true if the thread is running", but in this case it means "the provided function hasn't finished running yet".

Updated the functions documentation slighly to make this clear.
2023-03-06 09:01:25 -05:00
Rémi Verschelde 1c1524a651
Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
Andy Maloney 2d54c36c3c [doc] Use "param" instead of "code" to refer to parameters 2022-08-11 16:13:29 +03:00
Yuri Sizov c5d7115038 Rename the argument tag to param in XML documentation 2022-08-08 22:34:31 +03:00
kobewi a6f0aba43d Remove userdata from Thread.start() 2022-06-23 12:50:28 +02:00
Hugo Locurcio b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Rémi Verschelde 6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 13:02:21 +01:00
Rémi Verschelde 26f4848d01
Merge pull request #53455 from briansemrau/thread-is-executing
[core_bind] Add `Thread::is_alive`. Replace `is_active` with `is_started` to align with core/os/Thread API.
2021-10-06 21:20:33 +02:00
Brian Semrau f28c677f3d [core_bind] Add `is_alive` to Thread. Replace `is_active` with `is_started`.
Replacing `is_active` resolves an API discrepancy between core_bind Thread and core/os Thread.
2021-10-06 12:47:58 -04:00
Rémi Verschelde 862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
LATRio 97c68514c4 Use Callable in Thread::start 2021-09-25 22:07:13 +09:00
Max Hilbrunner 7b846e3f01
Merge pull request #46656 from zaksnet/improve-thread-docs
Improve documentation for Thread
2021-09-09 14:10:35 +02:00
Rémi Verschelde 7adf4cc9b5
doc: Use self-closing tags for `return` and `argument`
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
Pedro J. Estébanez 04688b92ff Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
Zak 9e2882a989 Improve docs for Thread
An attempt to improve the documentation for Thread
- Adds documentation on how and when the `wait_to_finish` should be used
- Adds a note on what to be careful about when using `wait_to_finish`
2021-03-04 16:56:54 +01:00
Aaron Franke 439be614f4
Link to demos from within the class reference 2020-10-01 23:57:21 -04:00
Hugo Locurcio dec20883c1
Document the GDScript debugger not supporting Thread yet
See https://github.com/godotengine/godot/issues/2446.
2020-08-29 02:24:07 +02:00
skyace65 aa08023115 Add information to get thread id 2020-08-27 22:11:35 -04:00
Hugo Locurcio f50a4b8a3b Link to Thread-safe APIs in the Thread class documentation
This closes https://github.com/godotengine/godot-docs/issues/2276.
2020-07-30 12:18:00 +02:00
Zak Grumbles d09644dff3
Clarify docs for Thread.start() godotengine#36032
* Updated docs for Thread.start() to specify that the method argument
must accept one parameter.
2020-03-30 21:53:39 -05:00
Rémi Verschelde fea37cfb52 doc: Sync classref with StringName/Callable changes 2020-02-22 14:59:09 +01:00
clayjohn 57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
Rémi Verschelde 2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
Tomasz Chabora c09b9c488f Complete documentation of some more classes 2020-01-14 13:19:39 +01:00
Yuri Roubinsky 61510102ec Added link to tutorial for Thread class 2019-10-02 19:21:23 +03:00
Hugo Locurcio f7f6115f76
Proofread and improve the whole class reference
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
  and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00
Rémi Verschelde ab4705a807
Merge pull request #28125 from KoBeWi/code_true_code
Consistently wrap booleans in [code]
2019-04-22 11:59:16 +02:00
Rémi Verschelde 6af69f851a doc: Drop unused <demos> tag 2019-04-19 11:03:46 +02:00
Tomasz Chabora b0846f60c9 Consistently wrap booleans in [code] 2019-04-17 17:13:00 +02:00
Rémi Verschelde 09e94aa087 doc: Sync classref with current source 2019-04-15 14:49:41 +02:00
Rémi Verschelde 63d3a42f82
Merge pull request #27465 from neikeq/road-to-lang-agnostic-docs-is-going-to-be-tough
EditorHelp: Improve enum ref resolving and add constant ref support
2019-04-05 15:19:21 +02:00
Rémi Verschelde 39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
Ignacio Etcheverry d80bc5cbba ClassRef: Replace [code]CurrentClass[/code] with [CurrentClass]
Modified makerst to generate code tags for these to avoid hyperlinks to the same class.
2019-03-29 23:47:35 +01:00
Rémi Verschelde 3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
Rémi Verschelde 3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
Rémi Verschelde d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Rémi Verschelde e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Rémi Verschelde 7dfba3cda9 doc: Fix enum tags thanks to 2bc6db6 2017-11-24 23:16:30 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Rémi Verschelde 967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Rémi Verschelde fc09e14366 classref: Sync with current source
Also fix hyperlink references to same class as per the guidelines.
[ci skip]
2017-10-22 12:56:17 +02:00
Rémi Verschelde b302084395 makerst: Fix rst-ization of members and escaping of [Class]s
Fixes #11517.
2017-10-21 12:33:52 +02:00