+/**
+ * Force a buffered writer to flush its buffer
+ *
+ * @param h the writer handle
+ * @return #GNUNET_OK upon success. Upon failure #GNUNET_SYSERR is returned and
+ * the file is closed
+ */
+int
+GNUNET_BIO_flush (struct GNUNET_BIO_WriteHandle *h)
+{
+ ssize_t ret;
+
+ ret = GNUNET_DISK_file_write (h->fd, h->buffer, h->have);
+ if (ret != h->have)
+ {
+ GNUNET_DISK_file_close (h->fd);
+ h->fd = NULL;
+ return GNUNET_SYSERR; /* error */
+ }
+ h->have = 0;
+ return GNUNET_OK;
+}
+
+