diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-07-19 11:35:11 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-07-19 11:35:11 -0300 |
| commit | d359c0af4874534efa810729d47f610a29687e93 (patch) | |
| tree | 9a89b06444819e7e5cef84aa826682b3b01bfd03 /src/connections.hh | |
| parent | 638244fd078fe91971e57b1d06e4499268d99c42 (diff) | |
| download | game-d359c0af4874534efa810729d47f610a29687e93.tar.gz game-d359c0af4874534efa810729d47f610a29687e93.zip | |
THREADING: upgrade from LinuxThreads to NPTL
This was a required change to make the server run on a modern
GLIBC version without resorting to shady shared libraries or
compatibility tricks. It is very straightforward but we should
always keep an eye out for possible bugs.
There was also a problem with the Z loop on field sending
functions that was causing the server to hang in an infinite
loop and should now be fixed.
With these changes it is now possible to login into the game
for a split second before the client asserting.
Diffstat (limited to 'src/connections.hh')
| -rw-r--r-- | src/connections.hh | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/connections.hh b/src/connections.hh index d4f0755..5489d18 100644 --- a/src/connections.hh +++ b/src/connections.hh @@ -154,7 +154,9 @@ struct TConnection { void Process(void); void ResetTimer(int Command); void EmergencyPing(void); - pid_t GetPID(void); + pid_t GetThreadID(void); + bool SetLoginTimer(int Timeout); + void StopLoginTimer(void); int GetSocket(void); const char *GetIPAddress(void); void Free(void); @@ -203,7 +205,8 @@ struct TConnection { TConnection *NextSendingConnection; uint32 RandomSeed; CONNECTIONSTATE State; - pid_t PID; + pid_t ThreadID; + timer_t LoginTimer; int Socket; char IPAddress[16]; TXTEASymmetricKey SymmetricKey; |
