Age | Commit message (Collapse) | Author |
|
|
|
Disable file descriptor sharing with subprocs.
|
|
The misterious windows networking stack...
Using connect instead of WSAConnect causes socket error 10022 under
certain conditions.
See: https://github.com/godotengine/webrtc-native/ (issue 6)
Having to guess, code path for connect is different then WSAConnect with
NULL extra parameters.
The only reference about weird error with this code mentions something
called "Windows Filtering Platform" but windows internals are, as
always, obscure.
This might be something to try and report to Microsoft if anyone has the
time to spare with the likely outcome of being ignored.
|
|
for macOS CI.
|
|
Disable socket descriptor sharing with subprocs.
|
|
Optional Unix Socket disable for devices that do not support it
|
|
On Unix systems, file descriptors are usually shared among child
processes.
This means, that if we spawn a subprocess (or we fork) like we do in
the editor any open file descriptor will leak to the new process.
This PR sets the close-on-exec flag when opening a file, which causes
the file descriptor to not be shared with the child process.
|
|
On Unix systems, sockets are like file descriptors, and file descriptors
are usually shared among child processes.
This means, that if we spawn a subprocess (or we fork) like we do in the
editor, open file descriptors will leak to the new process.
This causes issue with sockets as they might remain open and bound
(listening) when the original process closes.
|
|
Fixes this error:
```
drivers\unix\ip_unix.cpp(155): error C2593: 'operator =' is ambiguous
.\core/ustring.h(177): note: could be 'void String::operator =(const CharType *)'
.\core/ustring.h(176): note: or 'void String::operator =(const char *)'
drivers\unix\ip_unix.cpp(155): note: while trying to match the argument list '(String, int)'
```
|
|
|
|
|
|
Updated documentation accordingly.
Fixes #31881.
|
|
|
|
EditorSettings::set_project_metadata: creates project_metadata.cfg if it doesn't exist
EditorPlugin::get_config: removed (not used)
Fixes #31444
|
|
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?)
|
|
|
|
On some file systems, like ext4 on Linux, readdir() gives enough
information to determine the entry type in order to avoid doing
a stat() system call.
Use this information and call stat() only if necessary: for file
systems that do not support this feature and for links.
|
|
|
|
On some file systems, like ext4 on Linux, readdir() gives enough
information to determine the entry type in order to avoid doing
a stat() system call.
Use this information and call stat() only if necessary.
|
|
|
|
|
|
Remove unnecessary code and add some error explanations
|
|
|
|
Replace ` + "/" + ` with `String::file_add()`
|
|
|
|
Disable SO_NOSIGPIPE socket option when avaiable.
Use MSG_NOSIGNAL send flag on systems that support it.
|
|
Remove redundant code, possible NULL pointers and others
|
|
|
|
|
|
Multicast, more network interfaces info
|
|
|
|
Allow getting interfaces names and assigned names.
On UWP this is not supported, and the function will return one interface
for each local address (with interface name the local address itself).
|
|
Remove always true/false values
|
|
|
|
Warnings raised by Emscripten 1.38.0 and MinGW64 5.0.4 / GCC 8.3.0.
JS can now build with `werror=yes warnings=extra`.
MinGW64 still has a few warnings to resolve with `warnings=extra`,
and only one with `warnings=all`.
Part of #29033 and #29801.
|
|
|
|
drivers/unix/net_socket_posix.cpp: In member function 'NetSocketPosix::NetError NetSocketPosix::_get_socket_error()':
drivers/unix/net_socket_posix.cpp:197:22: warning: logical 'or' of equal expressions [-Wlogical-op]
197 | if (errno == EAGAIN || errno == EWOULDBLOCK)
| ^
and:
modules/mono/utils/string_utils.cpp: In function 'int {anonymous}::sfind(const String&, int)':
modules/mono/utils/string_utils.cpp:68:48: error: logical 'or' of collectively exhaustive tests is always true [-Werror=logical-op]
found = src[read_pos] == 's' || (c >= '0' || c <= '4');
~~~~~~~~~^~~~~~~~~~~
|
|
|
|
|
|
|
|
This reverts commit fb37284c027b494ed3ec21124001fcb729f42cc4.
This reverts commit 4db0f51b9aa76cfc7649787fe1970af606ce8dab.
|
|
|
|
Fix -Wsuggest-attribute=format warnings.
|
|
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
|
|
|
|
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
```
|
|
|
|
|
|
|
|
We lazily assign new IDs to threads that do not have one. This is the case for threads not created by the Godot API.
|