mirror of https://github.com/OpenTTD/OpenTTD
(svn r174) -Network: [ 023268] small network.c changes/cleanups (MorphOS/AmigaOS) and one compiler warning fix (MorphOS) (tokai)
parent
9a6870fcfd
commit
51d928a478
22
network.c
22
network.c
|
@ -62,6 +62,7 @@
|
||||||
|
|
||||||
struct Library *SocketBase = NULL;
|
struct Library *SocketBase = NULL;
|
||||||
|
|
||||||
|
#if !defined(__MORPHOS__)
|
||||||
// usleep() implementation
|
// usleep() implementation
|
||||||
#include <devices/timer.h>
|
#include <devices/timer.h>
|
||||||
#include <dos/dos.h>
|
#include <dos/dos.h>
|
||||||
|
@ -69,6 +70,7 @@ struct Library *SocketBase = NULL;
|
||||||
struct Device *TimerBase = NULL;
|
struct Device *TimerBase = NULL;
|
||||||
struct MsgPort *TimerPort = NULL;
|
struct MsgPort *TimerPort = NULL;
|
||||||
struct timerequest *TimerRequest = NULL;
|
struct timerequest *TimerRequest = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __MORPHOS__ || __AMIGA__ */
|
#endif /* __MORPHOS__ || __AMIGA__ */
|
||||||
|
|
||||||
|
@ -256,8 +258,11 @@ usleep(milliseconds*1000);
|
||||||
#ifdef __BEOS__
|
#ifdef __BEOS__
|
||||||
snooze(milliseconds*1000);
|
snooze(milliseconds*1000);
|
||||||
#endif
|
#endif
|
||||||
#if defined(__MORPHOS__) || defined(__AMIGAOS__)
|
#if defined(__MORPHOS__)
|
||||||
{
|
usleep(milliseconds*1000);
|
||||||
|
#endif
|
||||||
|
#if defined(__AMIGAOS__) && !defined(__MORPHOS__)
|
||||||
|
{
|
||||||
ULONG signals;
|
ULONG signals;
|
||||||
ULONG TimerSigBit = 1 << TimerPort->mp_SigBit;
|
ULONG TimerSigBit = 1 << TimerPort->mp_SigBit;
|
||||||
|
|
||||||
|
@ -272,7 +277,7 @@ snooze(milliseconds*1000);
|
||||||
}
|
}
|
||||||
WaitIO((struct IORequest *)TimerRequest);
|
WaitIO((struct IORequest *)TimerRequest);
|
||||||
}
|
}
|
||||||
#endif // __MORPHOS__ || __AMIGAOS__
|
#endif // __AMIGAOS__ && !__MORPHOS__
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1218,7 +1223,11 @@ void NetworkUDPClose(bool client) {
|
||||||
|
|
||||||
void NetworkUDPReceive(bool client) {
|
void NetworkUDPReceive(bool client) {
|
||||||
struct sockaddr_in client_addr;
|
struct sockaddr_in client_addr;
|
||||||
|
#ifndef __MORPHOS__
|
||||||
int client_len;
|
int client_len;
|
||||||
|
#else
|
||||||
|
LONG client_len; // for some reason we need a 'LONG' under MorphOS
|
||||||
|
#endif
|
||||||
int nbytes;
|
int nbytes;
|
||||||
struct UDPPacket packet;
|
struct UDPPacket packet;
|
||||||
int packet_len;
|
int packet_len;
|
||||||
|
@ -1400,7 +1409,8 @@ _network_available=true;
|
||||||
_network_available=false;
|
_network_available=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// for usleep() implementation
|
#if !defined(__MORPHOS__)
|
||||||
|
// for usleep() implementation (only required for legacy AmigaOS builds)
|
||||||
if ( (TimerPort = CreateMsgPort()) ) {
|
if ( (TimerPort = CreateMsgPort()) ) {
|
||||||
if ( (TimerRequest = (struct timerequest *) CreateIORequest(TimerPort, sizeof(struct timerequest))) ) {
|
if ( (TimerRequest = (struct timerequest *) CreateIORequest(TimerPort, sizeof(struct timerequest))) ) {
|
||||||
if ( OpenDevice("timer.device", UNIT_MICROHZ, (struct IORequest *) TimerRequest, 0) == 0 ) {
|
if ( OpenDevice("timer.device", UNIT_MICROHZ, (struct IORequest *) TimerRequest, 0) == 0 ) {
|
||||||
|
@ -1412,6 +1422,8 @@ _network_available=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -1443,9 +1455,11 @@ DEBUG(misc,3) ("[NET][Core] shutdown()");
|
||||||
#if defined(__MORPHOS__) || defined(__AMIGA__)
|
#if defined(__MORPHOS__) || defined(__AMIGA__)
|
||||||
{
|
{
|
||||||
// free allocated ressources
|
// free allocated ressources
|
||||||
|
#if !defined(__MORPHOS__)
|
||||||
if (TimerBase) { CloseDevice((struct IORequest *) TimerRequest); }
|
if (TimerBase) { CloseDevice((struct IORequest *) TimerRequest); }
|
||||||
if (TimerRequest) { DeleteIORequest(TimerRequest); }
|
if (TimerRequest) { DeleteIORequest(TimerRequest); }
|
||||||
if (TimerPort) { DeleteMsgPort(TimerPort); }
|
if (TimerPort) { DeleteMsgPort(TimerPort); }
|
||||||
|
#endif
|
||||||
|
|
||||||
if (SocketBase) {
|
if (SocketBase) {
|
||||||
CloseLibrary(SocketBase);
|
CloseLibrary(SocketBase);
|
||||||
|
|
Loading…
Reference in New Issue