summaryrefslogtreecommitdiff
path: root/drivers/unix/os_unix.cpp
AgeCommit message (Collapse)Author
2018-09-30Fix OS X get_ticks_usec return value after #22424Marcelo Fernandez
2018-09-29Use monotonic clock for get_ticks_usecFabio Alessandrelli
Static _clock_start and _clock_setup function. Use clock_gettime on Unix, mach_absolute_time on Mac.
2018-09-13Properly initialize Winsock on startupFabio Alessandrelli
Also fix typo in _get_last_error which caused Winsock connect to fail.
2018-09-12Unify StreamPeerTCP/TCP_Server with NetSocket APIFabio Alessandrelli
2018-09-12Unify PacketPeerUDP using NetSocketFabio Alessandrelli
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
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.
2018-08-27Revert "Try closing gracefully before terminating process"Rémi Verschelde
2018-08-20Try closing gracefully before terminating processMarcin Zawiejski
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.
2018-05-11Fix Linux/X11 build on ARMs.bruvzg
2018-05-07Local debugger fixes and extensionsBlazej Floch
- 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
2018-04-28GDNative Unix: fix shared lib loading, dlopen expects leading ./ to ↵Robin Hübner
interpret as relative path.
2018-03-20Add RWLockDummy for NO_THREADS buildsLeon Krause
2018-03-04Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez
2018-02-17Clean up some bad words from code commentsArtem Varaksa
2018-01-08Fix use of execvp, earlier fix was short sighted and only workedsambler
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.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
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.
2018-01-04Add support from properly exporting shared objects, needed for GDNative exportJuan Linietsky
2018-01-04Fix crash in OS::execute on FreeBSDRémi Verschelde
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.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-10Drop unused OS_Unix::has_data and related logicRémi Verschelde
Closes #5536.
2017-12-07Style: Apply clang-format again on all filesRémi Verschelde
Fixes issues introduced by newer clang-format versions or commits pushed directly without using the clang-format pre-commit hook.
2017-11-30Changed the dynamic library open function to allow setting the path of the ↵Juan Linietsky
library to open extra libraries.
2017-11-26Allow customizing user:// path (folder in OS::get_data_path())Rémi Verschelde
This allows to specify any valid folder name (including with subfolders) to use as user:// on all platforms. The folder is constrained to the platform-specific OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to). Fixes #13236.
2017-11-21Return and repair file loggingRuslan Mustakov
And make it configurable, too.
2017-11-19Add initial support for the XDG Base Directory specRémi Verschelde
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html (latest as of this commit). Three virtual methods are added to OS for the various XDG paths we will use: - OS::get_data_path gives XDG_DATA_HOME, or if missing: ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows - OS::get_config_path gives XDG_CONFIG_HOME, or if missing: ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows - OS::get_cache_path gives XDG_CACHE_HOME, or if missing: ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows So for Windows there are no changes, for Linux we follow the full split spec and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot. Support for system-wide installation of templates on Unix was removed for now, as it's a bit hackish and I don't think anyone uses it. user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by default, but when using the application/config/use_shared_user_dir option it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame. For now everything still goes in EditorSettings::get_settings_dir(), but this will be changed in a later commit to make use of the new splitting where relevant. Part of #3513.
2017-11-17Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde
Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
2017-10-29Disable logging until the logs location is sorted outRémi Verschelde
Temporary workaround for #12277.
2017-10-11Use execvp instead of execv to allow OS.execute() to search through PATH.Elia Argentieri
Fix #12003.
2017-10-03OS::execute can now read from stderr too when executing with a pipeMarcelo Fernandez
2017-09-25Extract logging logicRuslan Mustakov
Previously logging logic was scattered over OS class implementations with plenty of duplication. Major changes in this commit: - Extracted logging logic into a separate Logger hierarchy. It allows easy configuration of logging mechanism depending on compile-time or run-time configuration. - Implemented RotatedFileLogger which is usually used with StdLogger, providing persistency of logs. It is often important to be able to obtain logs of the game even in production to be able to understand what happened prior to some problem. On mobile there previously was no way to obtain the logs aside from having the device connected to your machine. - flush() is not performed in release mode for every logged line. It is only performed for errors.
2017-08-29Merge pull request #10552 from RandomShaper/improve-posixRémi Verschelde
Improve Mac/UNIX conformance/reliability
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Make OS::delay_usec() more reliable on UNIXPedro J. Estébanez
Implemented with `nanosleep()`. `usleep()` is deprecated. Also loops to ensure that __at least__ the requested time is waited, accounting for spurious interruptions. May help in situations like reattempting to connect to the debugger.
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-07-27added an optional parameter to OS symbol lookupKarroffel
When looking up a symbol from a library, previously an error was shown when the symbol did not exist. That caused confusion when the lookup was completely optional. This adds a new parameter to that method so that those errors can be handled manually if needed.
2017-07-19-Renamed GlobalConfig to ProjectSettings, makes more sense.Juan Linietsky
-Added system for feature overrides, it's pretty cool :)
2017-07-17-Reorganized all properties of project settings (Sorry, Again).Juan Linietsky
(Lot's of bloat accumulated, so it was time for clean up.) -Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-16get_executable_path slight change to make it work under OpenBSDDavid Carlier
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-04-06[DLScript] fixed android builds nowKarroffel
... really.
2017-04-03increased maximum number of scripting languagesKarroffel
2017-03-29Added methods for opening dynamic libraries to OSKarroffel
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-02-21-renamed globals.h to global_config.cpp (this seems to have caused a few ↵Juan Linietsky
modified files) -.pck and .zip exporting redone, seems to be working..
2017-02-09Add a simple signal handler for SIGCHLD on UnixHein-Pieter van Braam
This fixes #6631
2017-02-06Several bugfixes, improving the import workflowJuan Linietsky
2017-01-07Memory pool vectors (DVector) have been enormously simplified in code, and ↵Juan Linietsky
renamed to PoolVector
2017-01-06-Changed memory functions, Memory::alloc_static*, simplified them, made them ↵Juan Linietsky
aligned to 16 -Changed Vector<> template to fit this.
2017-01-05-Changed most project settings in the engine, so they have major and minor ↵Juan Linietsky
categories. -Changed SectionedPropertyEditor to support this -Renamed Globals singleton to GlobalConfig, makes more sense. -Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-02Merge remote-tracking branch 'origin/gles3' into gles3-on-masterRémi Verschelde
Various merge conflicts have been fixed manually and some mistakes might have been made - time will tell :)