Imported Upstream version 3.3.3
[debian/amanda] / xfer-src / element-glue.c
index ecc543d66d924ed1c407ff58af3a6562305158de..1282e935bd066770b1a60a410f3f49b256a0474a 100644 (file)
@@ -1,10 +1,11 @@
 /*
  * Amanda, The Advanced Maryland Automatic Network Disk Archiver
- * Copyright (c) 2008, 2009, 2010 Zmanda, Inc.  All Rights Reserved.
+ * Copyright (c) 2008-2012 Zmanda, Inc.  All Rights Reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published
- * by the Free Software Foundation.
+ * 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 2
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -68,7 +69,7 @@ typedef struct XferElementGlue_ {
 
     /* a ring buffer of ptr/size pairs with semaphores */
     struct { gpointer buf; size_t size; } *ring;
-    semaphore_t *ring_used_sem, *ring_free_sem;
+    amsemaphore_t *ring_used_sem, *ring_free_sem;
     gint ring_head, ring_tail;
 
     GThread *thread;
@@ -220,7 +221,7 @@ do_directtcp_connect(
     /* set up the sockaddr -- IPv4 only */
     copy_sockaddr(&addr, addrs);
 
-    g_debug("making data connection to %s", str_sockaddr(&addr));
+    g_debug("do_directtcp_connect making data connection to %s", str_sockaddr(&addr));
     sock = socket(SU_GET_FAMILY(&addr), SOCK_STREAM, 0);
     if (sock < 0) {
        xfer_cancel_with_error(elt,
@@ -851,8 +852,8 @@ setup_impl(
     /* set up ring if desired */
     if (need_ring) {
        self->ring = g_malloc(sizeof(*self->ring) * GLUE_RING_BUFFER_SIZE);
-       self->ring_used_sem = semaphore_new_with_value(0);
-       self->ring_free_sem = semaphore_new_with_value(GLUE_RING_BUFFER_SIZE);
+       self->ring_used_sem = amsemaphore_new_with_value(0);
+       self->ring_free_sem = amsemaphore_new_with_value(GLUE_RING_BUFFER_SIZE);
     }
 
     if (need_listen_input) {
@@ -944,7 +945,7 @@ pull_buffer_impl(
            }
 
            /* make sure there's at least one element available */
-           semaphore_down(self->ring_used_sem);
+           amsemaphore_down(self->ring_used_sem);
 
            /* get it */
            buf = self->ring[self->ring_tail].buf;
@@ -952,7 +953,7 @@ pull_buffer_impl(
            self->ring_tail = (self->ring_tail + 1) % GLUE_RING_BUFFER_SIZE;
 
            /* and mark this element as free to be overwritten */
-           semaphore_up(self->ring_free_sem);
+           amsemaphore_up(self->ring_free_sem);
 
            return buf;
        }
@@ -1077,7 +1078,7 @@ push_buffer_impl(
            }
 
            /* make sure there's at least one element free */
-           semaphore_down(self->ring_free_sem);
+           amsemaphore_down(self->ring_free_sem);
 
            /* set it */
            self->ring[self->ring_head].buf = buf;
@@ -1085,7 +1086,7 @@ push_buffer_impl(
            self->ring_head = (self->ring_head + 1) % GLUE_RING_BUFFER_SIZE;
 
            /* and mark this element as available for reading */
-           semaphore_up(self->ring_used_sem);
+           amsemaphore_up(self->ring_used_sem);
 
            return;
 
@@ -1181,8 +1182,8 @@ finalize_impl(
        }
 
        amfree(self->ring);
-       semaphore_free(self->ring_used_sem);
-       semaphore_free(self->ring_free_sem);
+       amsemaphore_free(self->ring_used_sem);
+       amsemaphore_free(self->ring_free_sem);
     }
 
     /* chain up */