SMTP-Client: move the client-shutdown procedure into the DB-Thread; we musn't block...
[citadel.git] / citadel / modules / urldeshortener / serv_expand_shorter_urls.c
index 7dc2096682f590b4577ead56bcbf1891e5f00b2f..ef08b677506d0cf4b16ab7b51be6aa03a996e922 100644 (file)
@@ -1,20 +1,21 @@
+
 /*
  *
- * Copyright (c) 1998-2009 by the citadel.org team
+ * Copyright (c) 1998-2012 by the citadel.org team
  *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
+ *  This program is open source software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 3.
+ *  
+ *  
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *  
+ *  
+ *  
  */
 
 #include "sysdep.h"
@@ -92,10 +93,20 @@ size_t GetLocationString( void *ptr, size_t size, size_t nmemb, void *userdata)
        }
        return size * nmemb;
 }
-
+eNextState ShutdownLookuUrl(AsyncIO *IO)
+{
+//TOOD
+       return eAbort;
+}
 eNextState TerminateLookupUrl(AsyncIO *IO)
 {
 //TOOD
+       return eAbort;
+}
+eNextState TerminateLookupUrlDB(AsyncIO *IO)
+{
+//TOOD
+       return eAbort;
 }
 eNextState LookupUrlResult(AsyncIO *IO)
 {
@@ -116,14 +127,16 @@ int LookupUrl(StrBuf *ShorterUrlStr)
 
        ParseURL(&IO->ConnectMe, ShorterUrlStr, 80);
        CurlPrepareURL(IO->ConnectMe);
-       if (! evcurl_init(IO, 
+       if (! InitcURLIOStruct(IO, 
 //                       Ctx, 
                          NULL,
                          "Citadel RSS ShorterURL Expander",
                          LookupUrlResult, 
-                         TerminateLookupUrl))
+                         TerminateLookupUrl, 
+                         TerminateLookupUrlDB, 
+                         ShutdownLookuUrl))
        {
-               CtdlLogPrintf(CTDL_ALERT, "Unable to initialize libcurl.\n");
+               syslog(LOG_ALERT, "Unable to initialize libcurl.\n");
                goto shutdown;
        }
        chnd = IO->HttpReq.chnd;
@@ -139,10 +152,10 @@ int LookupUrl(StrBuf *ShorterUrlStr)
        OPT(WRITEHEADER, ShorterUrlStr);
 
 
-       if (CtdlThreadCheckStop())
+       if (server_shutting_down)
                goto shutdown ;
 
-       evcurl_handle_start(IO);
+       QueueCurlContext(IO);
 
 shutdown:
 
@@ -325,7 +338,7 @@ CTDL_MODULE_INIT(urldeshortener)
 {
        if (threading)
        {
-               CtdlLogPrintf(CTDL_INFO, "%s\n", curl_version());
+               syslog(LOG_INFO, "%s\n", curl_version());
        }
        else 
        {