Introduce afs_max_size_handler_data and afs_max_size_handler().
[paraslash.git] / afs.c
diff --git a/afs.c b/afs.c
index 5939cbe69cc46c1095d7cb82ffc98a741d3f6505..04b6961168eedc979774019019e30f139456a965 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -546,8 +546,10 @@ static void com_select_callback(int fd, const struct osl_object *query)
 {
        struct para_buffer pb = {
                .max_size = shm_get_shmmax(),
-               .private_data = &fd,
-               .max_size_handler = pass_buffer_as_shm
+               .private_data = &(struct afs_max_size_handler_data) {
+                       .fd = fd,
+               },
+               .max_size_handler = afs_max_size_handler,
        };
        char *arg = query->data;
        int num_admissible, ret, ret2;
@@ -787,10 +789,6 @@ static void command_pre_select(struct sched *s, struct task *t)
  * \param size The size of \a buf.
  * \param fd_ptr A pointer to the file descriptor.
  *
- * This function is used as the \a max_size handler in a \ref para_buffer
- * structure. If used this way, it is called by \ref para_printf() whenever
- * the buffer passed to para_printf() is about to exceed its maximal size.
- *
  * This function creates a shared memory area large enough to hold
  * the content given by \a buf and \a size and sends the identifier
  * of this area to the file descriptor given by \a fd_ptr.