Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EE RPC]: break all RPC binding after 100 retries #698

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

israpps
Copy link
Contributor

@israpps israpps commented Dec 12, 2024

applications will no longer hang eternally on a loop.

Applications that bind to RPC should check return values of rpc binding functions and throw errors if necesary to avoid the program to continue execution as if server is ok

applications will no longer hang eternally on a loop.

Applications that bind to RPC should check return values of rpc binding functions and throw errors if necesary to avoid the program to continue execution as if server is ok
@rickgaiser
Copy link
Member

I saw your comment here
rickgaiser/neutrino#74 (comment)

Question:

If we load an IOP module and it takes for instance 500ms to have the service running, will this then break existing applications? Waiting 1 second before failing seems like an ok time to me. The user will then have to wait for 1s to see the application has failed to start. Instead of it freezing forever.

How much time is 100 x nopdelay ?

@israpps
Copy link
Contributor Author

israpps commented Feb 5, 2025

I haven't tested it, not sure how much time it takes

It's open to changes tho.

But the base idea is IMO very good, don't use endless loops without a failsafe for RPC binding

@sp193
Copy link
Member

sp193 commented Feb 6, 2025

I am personally not so sure. This is a game console and the original idea was likely to never fail because there is nothing else to do. If your RPC is unexpectedly unavailable, what can the user do?

@israpps
Copy link
Contributor Author

israpps commented Feb 6, 2025

I am personally not so sure. This is a game console and the original idea was likely to never fail because there is nothing else to do. If your RPC is unexpectedly unavailable, what can the user do?

the intention of this is not to throw the problem to the user, it's to reduce the reports of "hangs at black screen".

Instead display an error message, and if the app is in a very early setup stage, maybe just change bg color and call sleepthread.

or maybe a simple scr_printf();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants