summaryrefslogtreecommitdiffstats
path: root/drivers/unix/os_unix.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace NULL with nullptrlupoDharkael2020-04-021-10/+10
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-1/+1
| | | | | | | | | | VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
* Refactor ScriptDebugger.Fabio Alessandrelli2020-03-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
* Merge pull request #36752 from RandomShaper/rework_semaphoreRémi Verschelde2020-03-051-5/+0
|\ | | | | Drop old semaphore implementation
| * Drop old semaphore implementationPedro J. Estébanez2020-03-031-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | - Removed platform-specific implementations. - Now all semaphores are in-object, unless they need to be conditionally created. - Similarly to `Mutex`, provided a dummy implementation for when `NO_THREADS` is defined. - Similarly to `Mutex`, methods are made `const` for easy use in such contexts. - Language bindings updated: `wait()` and `post()` are now `void`. - Language bindings updated: `try_wait()` added. Bonus: - Rewritten the `#ifdef` in `mutex.h` to meet the code style.
* | os: execute parse the command output from utf8Mateo Dev .592020-03-031-1/+1
|/
* Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez2020-02-261-3/+0
| | | | | | | | | | | | | | | | Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
* Improve the console error logging appearanceHugo Locurcio2020-01-191-13/+13
| | | | | | | This makes secondary information less visually prominent to improve overall readability. Various loggers were also tweaked for consistency.
* Disable colored console output when standard output isn't a TTYHugo Locurcio2020-01-041-8/+24
| | | | | This prevents Godot from writing ANSI escape codes when redirecting stdout and stderr to a file.
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Fix compilation warnings in macOS build, enable `warnings=extra werror=yes` ↵bruvzg2019-10-241-0/+2
| | | | for macOS CI.
* Fix casting to uint64_t when returning unix system timeKanabenki2019-10-011-1/+1
|
* Added an exit code to the blocking mode of OS::executeRuslan Mullayanov2019-09-261-1/+1
| | | | | | Updated documentation accordingly. Fixes #31881.
* Added some obvious errors explanationsqarmin2019-09-251-1/+1
|
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'Braden Bodily2019-08-171-14/+6
| | | | | | | | | Condensed some if and ERR statements. Added dots to end of error messages Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?), core/os/memory.cpp, drivers/png/png_driver_common.cpp, drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
* Fixes minor issues found by static analyzerqarmin2019-07-071-1/+1
|
* added a const keyword for a methods that return constant literal...hbina0852019-05-211-1/+1
|
* Add FileAccess::set_unix_permissions for Unix platformsJuan Linietsky2019-04-071-2/+16
|
* Remove SIGCHILD handle in OS_Unix, interferes with pclose()Juan Linietsky2019-04-071-17/+0
|
* Fix jump over uninitialized value in OS Unix/X11Fabio Alessandrelli2019-04-091-0/+1
|
* Revert accidental commitsPedro J. Estébanez2019-03-201-2/+0
| | | | | This reverts commit fb37284c027b494ed3ec21124001fcb729f42cc4. This reverts commit 4db0f51b9aa76cfc7649787fe1970af606ce8dab.
* Create class for shared memory blocks [wip]Pedro J. Estébanez2019-03-201-0/+2
|
* Fix typos with codespellRémi Verschelde2019-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | Using codespell 1.14.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang doubleclick lod nd numer que te unselect EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Fix OS_Unix::set_environmentIgnacio Etcheverry2019-02-041-1/+1
|
* Added set_environment to OS classIgnacio Etcheverry2019-02-031-0/+5
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Added OS.get_system_time_msecs()volzhs2018-12-201-0/+6
|
* Add proper stubs for OS_JavaScript::execute(), get_process_id(), kill()Leon Krause2018-10-291-0/+6
| | | | Avoids linker warnings and errors about undefined references.
* Avoid possible overflow in OS_Unix readlinkFabio Alessandrelli2018-10-071-2/+4
| | | | Also fix [-Wunused-result]
* Fix OS X get_ticks_usec return value after #22424Marcelo Fernandez2018-09-301-1/+1
|
* Use monotonic clock for get_ticks_usecFabio Alessandrelli2018-09-291-7/+38
| | | | | Static _clock_start and _clock_setup function. Use clock_gettime on Unix, mach_absolute_time on Mac.
* Properly initialize Winsock on startupFabio Alessandrelli2018-09-131-0/+2
| | | | Also fix typo in _get_last_error which caused Winsock connect to fail.
* Unify StreamPeerTCP/TCP_Server with NetSocket APIFabio Alessandrelli2018-09-121-4/+0
|
* Unify PacketPeerUDP using NetSocketFabio Alessandrelli2018-09-121-2/+2
|
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-14/+12
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Revert "Try closing gracefully before terminating process"Rémi Verschelde2018-08-271-1/+1
|
* Try closing gracefully before terminating processMarcin Zawiejski2018-08-201-1/+1
| | | | | | | Use a Microsoft recommended way of process termination for the project process run from the editor. This allows loaded DLLs to receive and handle DLL_PROCESS_DETACH notification and cleanup any global state before the process actually exits.
* Fix Linux/X11 build on ARMs.bruvzg2018-05-111-1/+1
|
* Local debugger fixes and extensionsBlazej Floch2018-05-071-0/+17
| | | | | | | | | - Adds q/quit option to console debugging - Adds options (variable_prefix) - Breaks into debugger with Ctrl-C in local debug mode (Unix/Windows) - Added option to list all breakpoints - Fixes add/remove breakpoint bug (invalid path parsing) - Minor cleanup
* GDNative Unix: fix shared lib loading, dlopen expects leading ./ to ↵Robin Hübner2018-04-281-0/+6
| | | | interpret as relative path.
* Add RWLockDummy for NO_THREADS buildsLeon Krause2018-03-201-1/+2
|
* Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez2018-03-041-9/+0
|
* Clean up some bad words from code commentsArtem Varaksa2018-02-171-1/+1
|
* Fix use of execvp, earlier fix was short sighted and only workedsambler2018-01-081-11/+13
| | | | | | when godot could be found in PATH. The correct fix is to use sysctl to get the path to the current executable this also fixes the ability to call external commands.
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Add support from properly exporting shared objects, needed for GDNative exportJuan Linietsky2018-01-041-1/+14
|
* Fix crash in OS::execute on FreeBSDRémi Verschelde2018-01-041-1/+1
| | | | | As spotted by @robfram, closes #15288. Also reviewed other uses of `if (String.find(.*))` for potential similar mistakes, found a wrong (and useless) one in ScriptEditorDialog.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Drop unused OS_Unix::has_data and related logicRémi Verschelde2017-12-101-32/+2
| | | | Closes #5536.
* Style: Apply clang-format again on all filesRémi Verschelde2017-12-071-1/+1
| | | | | Fixes issues introduced by newer clang-format versions or commits pushed directly without using the clang-format pre-commit hook.