X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=amiga.c;h=8da8d567230b303f2182a9d258c3569db72b4d32;hp=e5223762c92ff3e231658d93d88a4c7726f4959b;hb=64d6166ea65c879c4b7571f1075ce567bd209ecf;hpb=209437c4959c12e51e1cd405ab003830a1a41702 diff --git a/amiga.c b/amiga.c index e5223762..8da8d567 100644 --- a/amiga.c +++ b/amiga.c @@ -1,4 +1,4 @@ -const char amiga_rcs[] = "$Id: amiga.c,v 1.3 2001/09/12 22:54:51 joergs Exp $"; +const char amiga_rcs[] = "$Id: amiga.c,v 1.5 2002/03/03 09:18:03 joergs Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/amiga.c,v $ @@ -28,6 +28,12 @@ const char amiga_rcs[] = "$Id: amiga.c,v 1.3 2001/09/12 22:54:51 joergs Exp $"; * * Revisions : * $Log: amiga.c,v $ + * Revision 1.5 2002/03/03 09:18:03 joergs + * Made jumbjuster work on AmigaOS again. + * + * Revision 1.4 2001/10/07 15:35:13 oes + * Replaced 6 boolean members of csp with one bitmap (csp->flags) + * * Revision 1.3 2001/09/12 22:54:51 joergs * Stacksize of main thread increased. * @@ -73,7 +79,7 @@ __saveds ULONG server_thread(void) { SetErrnoPtr(&(UserData.eno),sizeof(int)); local_csp->cfd=ObtainSocket(local_csp->cfd, AF_INET, SOCK_STREAM, 0); - if(-1!=local_csp->cfd) + if(JB_INVALID_SOCKET!=local_csp->cfd) { Signal(main_task,SIGF_SINGLE); serve((struct client_state *) local_csp); @@ -90,12 +96,15 @@ __saveds ULONG server_thread(void) return 0; } +static BPTR olddir; + void amiga_exit(void) { if(SocketBase) { CloseLibrary(SocketBase); } + CurrentDir(olddir); } static struct SignalSemaphore memsem; @@ -123,12 +132,13 @@ void InitAmiga(void) InitSemaphore(&memsem); memsemptr = &memsem; + olddir=CurrentDir(GetProgramDir()); atexit(amiga_exit); } #ifdef __GNUC__ #ifdef libnix -/* multitaskingsafe libnix replacements */ +/* multithreadingsafe libnix replacements */ static void *memPool=NULL; void *malloc (size_t s) @@ -237,7 +247,7 @@ ADD2EXIT(__memCleanUp,-50); #error No libnix and no ixemul!? #endif /* libnix */ #else -#error Only GCC is supported, multitasking safe malloc/free required. +#error Only GCC is supported, multithreading safe malloc/free required. #endif /* __GNUC__ */ #endif /* def AMIGA */