MCPcopy Create free account
hub / github.com/aldostools/webMAN-MOD / wait_for_new_socket

Function wait_for_new_socket

include/init/socket.h:110–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108#define MIN_KERNEL_RETRY_PAUSE 2 // 2 seconds
109
110static bool wait_for_new_socket(void)
111{
112 int failures = 0;
113 while(true)
114 {
115 unsigned int kernel_free_current = 0;
116 sys_net_if_ctl(0, SYS_NET_CC_GET_MEMORY_FREE_CURRENT, &kernel_free_current, sizeof(kernel_free_current));
117
118 if(kernel_free_current >= MIN_KERNEL_FREE_SPACE)
119 {
120 break; // There's enough space for new socket
121 }
122 else
123 {
124 failures++;
125
126 if(failures >= MIN_KERNEL_MAX_TRIES)
127 {
128 return true; // Kernel is full: Not enough space found
129 }
130
131 sys_ppu_thread_sleep(MIN_KERNEL_RETRY_PAUSE); // Give kernel more time to free up space
132 }
133 }
134 return false;
135}

Callers 2

handleclient_ftpFunction · 0.85
handleclient_ps3mapiFunction · 0.85

Calls 1

sys_ppu_thread_sleepFunction · 0.85

Tested by

no test coverage detected