X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=amiga.c;h=df1ad8ca0815a0c61bc3f7d4a94b24710cad5675;hp=789fd085d5535cf0ffa6781f12bdd1489943bdd2;hb=fe559a5185bb2cde6147f0d6abcaaa2a761ff279;hpb=692f5cb1598fd8e5645e42e5d32387ab0ae69a22 diff --git a/amiga.c b/amiga.c index 789fd085..df1ad8ca 100644 --- a/amiga.c +++ b/amiga.c @@ -1,4 +1,4 @@ -const char amiga_rcs[] = "$Id: amiga.c,v 1.1.1.1 2001/05/15 13:58:46 oes Exp $"; +const char amiga_rcs[] = "$Id: amiga.c,v 1.4 2001/10/07 15:35:13 oes Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/amiga.c,v $ @@ -28,6 +28,15 @@ const char amiga_rcs[] = "$Id: amiga.c,v 1.1.1.1 2001/05/15 13:58:46 oes Exp $"; * * Revisions : * $Log: amiga.c,v $ + * 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. + * + * Revision 1.2 2001/05/23 00:13:58 joergs + * AmigaOS support fixed. + * * Revision 1.1.1.1 2001/05/15 13:58:46 oes * Initial import of version 2.9.3 source tree * @@ -46,7 +55,7 @@ const char amiga_rcs[] = "$Id: amiga.c,v 1.1.1.1 2001/05/15 13:58:46 oes Exp $"; const char amiga_h_rcs[] = AMIGA_H_VERSION; -unsigned long __stack = 20*1024; +unsigned long __stack = 100*1024; static char ver[] = "$VER: junkbuster " __AMIGAVERSION__ " (" __AMIGADATE__ ")"; struct Task *main_task = NULL; int childs = 0; @@ -72,24 +81,27 @@ __saveds ULONG server_thread(void) Signal(main_task,SIGF_SINGLE); serve((struct client_state *) local_csp); } else { - local_csp->active = 0; + local_csp->flags &= ~CSP_FLAG_ACTIVE; Signal(main_task,SIGF_SINGLE); } CloseLibrary(SocketBase); } else { - local_csp->active = 0; + local_csp->flags &= ~CSP_FLAG_ACTIVE; Signal(main_task,SIGF_SINGLE); } childs--; return 0; } +static BPTR olddir; + void amiga_exit(void) { if(SocketBase) { CloseLibrary(SocketBase); } + CurrentDir(olddir); } static struct SignalSemaphore memsem; @@ -117,12 +129,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) @@ -231,7 +244,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 */