Elad
6165c2d8b3
Thread.h: Fix a bug by adding thread_state::destroying_context
2025-01-05 10:01:35 +02:00
Elad
a5ba96e991
Fixup lv2_socket
2024-12-27 22:08:28 +02:00
Elad
d376ba5994
Remove lv2_socket_native destructor
2024-12-24 21:31:57 +02:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
RipleyTom
18f82f0006
Fix unused p2p socket closing
2024-12-17 15:09:59 +02:00
RipleyTom
0e8f1a9bf9
sys_net: Remove lingering ppu_to_awake from queue on timeout
2024-11-22 18:44:01 +02:00
RipleyTom
3dc75dc3d1
Handle WSAENETRESET error
2024-08-25 13:04:44 +03:00
RipleyTom
feff2ba09e
Fix race in sys_net select and poll
2024-06-14 10:52:34 +03:00
trigger
ba29a37871
sys_net: properly return error in sendto
2024-06-03 04:31:45 +03:00
RipleyTom
a50683d6ca
sys_net improvements ( #15584 )
...
Also remove redundant ensures
2024-05-13 05:35:08 +03:00
RipleyTom
b7a882f42b
Split normal sockets and p2p sockets handling v2
2024-05-08 20:04:23 +03:00
RipleyTom
b38ce9452d
Revert "Split normal sockets and p2p sockets handling"
...
This reverts commit 08c3a38b67 .
2024-04-27 10:45:14 +02:00
RipleyTom
6fc7fa3b13
Logging improvements
2024-04-27 00:12:14 +02:00
RipleyTom
08c3a38b67
Split normal sockets and p2p sockets handling
2024-04-24 14:15:17 +03:00
Elad Ashkenazi
3dc1dfa4a2
Fix typo in lv2_socket_native
2024-04-04 22:47:01 +02:00
Eladash
8effbf7e4d
Savestates/Network: Feign connection failure on startup
2024-04-04 17:28:46 +03:00
RipleyTom
ac8e914a25
improves sig_ctx handling, sys_net logging and fixes udpp2p protocol ( #15235 )
2024-02-24 12:40:53 +01:00
RipleyTom
26d406fec3
RPCN 1.1
2024-02-05 09:44:29 +01:00
Eladash
c7a94a80df
Savestates/net: fix P2P socket data saving
2024-01-20 22:15:07 +02:00
RipleyTom
d6dde225bd
Warn on use of privileged port on Linux
2024-01-01 21:23:31 +01:00
Megamouse
59c58aa3cf
fix some warnings
2023-12-30 19:07:35 +01:00
RipleyTom
03761c5dd4
rpcn 0.8
2023-12-29 19:22:49 +01:00
RipleyTom
69238bfc23
Remove destructor dependencies on nph
2023-12-24 15:16:56 +02:00
RipleyTom
732d9b83ba
Fix nph and nt interderp
2023-12-22 14:34:48 +01:00
RipleyTom
dbd1f27862
Replace condition_variable with atomic_t
2023-12-20 15:28:47 +02:00
Eladash
7e853abc4b
Fix tcp_timeout_monitor abort
2023-12-19 15:34:07 +02:00
Eladash
0c410f8a14
Postpone thread launching on g_fxo->init
2023-12-19 15:34:07 +02:00
RipleyTom
cee6d03033
Fix initialization order for network_thread
2023-12-14 19:34:14 +01:00
Megamouse
e26d4e1762
sys_net: fix some warnings
...
move some data to heap
2023-10-31 15:11:43 +02:00
Eladash
96d31cf64e
IdManager.h: Savestate fix
2023-10-02 15:38:58 +03:00
oltolm
0c94606fcf
Make compile with msvc, clang and gcc on Windows
2023-07-11 21:40:30 +03:00
RipleyTom
e2bced978e
Move connect workaround to connect interface
2023-06-18 01:04:01 +02:00
Megamouse
d28e3c4f08
np_handler: fix warning: check socket in discover_ip_address
2023-06-13 18:08:51 +02:00
RipleyTom
5d7e75c5d8
Fix EINVAL returned on connect call to connecting socket
2023-06-11 15:42:22 +02:00
RipleyTom
0f45a8c180
Fix inaccuracies pointed out by PVS-Studio
2023-03-25 08:45:30 +01:00
Megamouse
425610b98a
Use win_error for WSAGetLastError
2023-03-05 22:49:49 +01:00
RipleyTom
d9e0d016c6
Fix for Windows ENOTCONN on connecting socket
...
Fixes Windows returns ENOTCONN when using recvfrom/sendto on connecting socket instead of the expected EAGAIN.
2023-02-26 10:35:20 +01:00
RipleyTom
6186ac0245
rpcn: signaling handler improvements & upnp
...
Simplify signaling by making Matching2 a layer over normal signaling.
Implements UPNP port forwarding
Implement sceNpMatching2AbortRequest
Fix reported bw in sceNpUtil
Hack for Fat Princess binding udp on 3658
Reenable CB for sceNpBasicAddPlayersHistoryAsync
Misc fixes
2023-02-21 15:41:41 +01:00
RipleyTom
737fbf661a
Add more disconnected limitations in sys_net
2023-02-04 20:33:21 +01:00
Elad Ashkenazi
0946e5945f
VSH Improvements ( #13172 )
...
* sys_prx: Implement PRX LIB register syscall
* VSH: partial log spam fix
* sys_process reboot fix
* Implement sys_memory_container_destroy_parent_with_childs
* sys_net: Implement SO_RCVTIMEO/SO_SENDTIMEO
* VSH: Implement sys_rsx_context_free
* PPU LLVM: distinguish PPU cache exec also by address
Fixes referencing multiple PRX.
* UI: Do not report size of apps inside /dev_flash
2023-01-09 20:03:01 +03:00
Team XLink Developers
b4757b514d
Add ability to have sockets bind to a local IP address ( #12998 )
2022-11-30 18:35:42 +03:00
RipleyTom
7ae9b15b5c
sys_net: return appropriate packet size for P2P
2022-10-22 20:14:32 +03:00
RipleyTom
9b121a6414
sys_net: improvements
...
sys_net: implement reusable addr for p2p sockets
sys_net: implement getpeername for P2PS
sys_net: sockets inherit NBIO from their parent
2022-10-22 11:32:04 +02:00
RipleyTom
56caa10e56
Fix blocking raw socket recvfrom
2022-09-28 21:58:11 +02:00
RipleyTom
eea73deab3
RPCN v0.6
2022-09-27 23:39:54 +03:00
Nekotekina
6ff6a4989a
Implement at32() util
...
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
cohaereo
2655255d4d
sys_net: Implement sys_net_bnet_sendmsg for native sockets
2022-09-25 18:24:47 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Eladash
c0369b2e10
sys_net: Implement sys_net_abort
2022-07-17 14:53:03 +03:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00