Fixed to comply with new pthread_util pool API
authorMatthew Mondor <mmondor@pulsar-zone.net>
Mon, 19 Mar 2007 08:58:50 +0000 (08:58 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Mon, 19 Mar 2007 08:58:50 +0000 (08:58 +0000)
mmsoftware/mmftpd/ChangeLog
mmsoftware/mmftpd/src/mmftpd.c
mmsoftware/mmftpd/src/mmftpd.h

index 6e3f8e2..2b7f72c 100644 (file)
@@ -1,4 +1,12 @@
-$Id: ChangeLog,v 1.52 2007/03/16 17:57:26 mmondor Exp $
+$Id: ChangeLog,v 1.53 2007/03/19 08:58:49 mmondor Exp $
+
+
+
+Release: mmftpd 0.2.1 devl
+Date   : March 19, 2007
+By     : Matthew Mondor
+
+- Adapted for new mmserver(3) API change
 
 
 
index a1caa6a..3a1f1b5 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmftpd.c,v 1.67 2007/03/13 20:28:22 mmondor Exp $ */
+/* $Id: mmftpd.c,v 1.68 2007/03/19 08:58:50 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2004, Matthew Mondor
@@ -88,7 +88,7 @@
 
 MMCOPYRIGHT("@(#) Copyright (c) 2001-2004\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmftpd.c,v 1.67 2007/03/13 20:28:22 mmondor Exp $");
+MMRCSID("$Id: mmftpd.c,v 1.68 2007/03/19 08:58:50 mmondor Exp $");
 
 
 
@@ -2593,7 +2593,7 @@ main(int argc, char **argv)
                CONF.LISTEN_IPS, uid, gids, ngids, CONF.MAX_IPS,
                CONF.MAX_PER_IP, CONF.CONNECTION_RATE, CONF.CONNECTION_PERIOD,
                CONF.CONTROL_TIMEOUT, CONF.LISTEN_PORT, CONF.RESOLVE_HOSTS,
-               handleclient);
+               handleclient, NULL, NULL);
        fdbcdestroy(&fdbc);
     } else {
        mmsyslog(0, LOGLEVEL, "* Out of memory");
@@ -3088,14 +3088,6 @@ start_transfer_thread(clientenv *clenv)
 {
     pthread_msg_init(&clenv->tmsg.msg, &clenv->rport);
 
-    /*
-    if (pthread_create(&clenv->tthread, &tthreadattr, (void *)transferthread,
-                       clenv) == 0) {
-       if (transfer_request(REQ_NONE, TRUE, clenv))
-           return (TRUE);
-       pthread_join(&clenv->tthread, NULL);
-    }
-    */
     if (pthread_object_call(NULL, transferthread, clenv) != 0)
        DEBUG_PRINTF("start_transfer_thread", "pthread_object_call()");
 
@@ -3117,13 +3109,6 @@ stop_transfer_thread(clientenv *clenv)
        if (!transfer_request(REQ_QUIT, TRUE, clenv))
            DEBUG_PRINTF("stop_transfer_thread",
                    "transfer_request(REQ_QUIT)");
-       /* If the transfer thread refused to quit for whatever reason
-        * (unlikely) this could freeze the current thread indefinitely.
-        * Join thread as we want to make sure it exits before we do.
-        */
-       /*
-       pthread_join(&clenv->tthread, NULL);
-       */
     }
     if (pthread_msg_valid(&clenv->tmsg.msg))
        pthread_msg_destroy(&clenv->tmsg.msg);
@@ -3424,9 +3409,10 @@ pasv_remap(u_int32_t *bind, char **advertize, const char *client)
  * be quite fast, as only looping once though the commands list is required,
  * because each state has it's jump table.
  */
+/* ARGSUSED */
 static int
 handleclient(unsigned long cid, int fd, clientlistnode *clientlnode,
-       struct iface *iface, struct async_clenv *aclenv)
+       struct iface *iface, struct async_clenv *aclenv, void *tudata)
 {
     char buffer[1024], ipaddr[20], sipaddr[20];
     register char *tmp;
@@ -3824,8 +3810,9 @@ pasv_bind(clientenv *clenv, struct sockaddr_in *server, int *sock, int *port)
  * serving basic FTP commands, including ABOR, asynchronously, except of course
  * other transfer requests when one is ongoing already.
  */
+/* ARGSUSED */
 static void
-transferthread(pthread_object_t *obj, void *args)
+transferthread(pthread_object_t *obj, void *args, void *tudata)
 {
     clientenv *clenv = args;
     fdbuf *fdb;
index 0f5af28..1b48d1b 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmftpd.h,v 1.27 2007/03/16 17:57:27 mmondor Exp $ */
+/* $Id: mmftpd.h,v 1.28 2007/03/19 08:58:50 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2004, Matthew Mondor
@@ -65,7 +65,7 @@
 /* DEFINITIONS */
 
 #define DAEMON_NAME            "mmftpd"
-#define DAEMON_VERSION         "0.2.0/mmondor"
+#define DAEMON_VERSION         "0.2.1/mmondor"
 
 /* Transfer buffer size */
 #define T_BUFSIZE              16384
@@ -420,10 +420,10 @@ static bool pasv_remap_parse(void);
 static bool pasv_remap(u_int32_t *, char **, const char *);
 
 static int handleclient(unsigned long, int, clientlistnode *, struct iface *,
-       struct async_clenv *);
+       struct async_clenv *, void *);
 
 static bool pasv_bind(clientenv *, struct sockaddr_in *, int *, int *);
-static void transferthread(pthread_object_t *, void *);
+static void transferthread(pthread_object_t *, void *, void *);
 static void transferthread_main(clientenv *, fdbuf *);
 
 static void thread_init(void);