about summary refs log tree commit homepage
path: root/queue_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'queue_common.c')
-rw-r--r--queue_common.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/queue_common.c b/queue_common.c
index 79a5869..b9c2f99 100644
--- a/queue_common.c
+++ b/queue_common.c
@@ -46,3 +46,21 @@ void mog_queue_stop(struct mog_queue *keep)
                 mog_fd_put(mfd);
         }
 }
+
+void mog_queue_drop(struct mog_fd *mfd)
+{
+        switch (mfd->fd_type) {
+        case MOG_FD_TYPE_HTTP:
+        case MOG_FD_TYPE_HTTPGET:
+                mog_http_drop(mfd);
+                return;
+        case MOG_FD_TYPE_MGMT:
+                mog_mgmt_drop(mfd);
+                return;
+        default:
+                syslog(LOG_ERR,
+                       "dropping fd_type=%d, functionality may be compromised",
+                       mfd->fd_type);
+                mog_fd_put(mfd);
+        }
+}