-static void
-eject_unmount_cb (GPid pid, gint status, gpointer user_data)
-{
- UnmountEjectOp *data = user_data;
- GSimpleAsyncResult *simple;
-
-#if 0
- if (WEXITSTATUS (status) != 0)
- {
- GError *error;
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_FAILED,
- data->error_string->str);
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->win32_mount),
- data->callback,
- data->user_data,
- error);
- g_error_free (error);
- }
- else
- {
- simple = g_simple_async_result_new (G_OBJECT (data->win32_mount),
- data->callback,
- data->user_data,
- NULL);
- }
-
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
-
- g_source_remove (data->error_channel_source_id);
- g_io_channel_unref (data->error_channel);
- g_string_free (data->error_string, TRUE);
- close (data->error_fd);
- g_spawn_close_pid (pid);
- g_free (data);
-#endif
-}
-
-static gboolean
-eject_unmount_read_error (GIOChannel *channel,
- GIOCondition condition,
- gpointer user_data)
-{
- char *str;
- gsize str_len;
- UnmountEjectOp *data = user_data;
-
- g_io_channel_read_to_end (channel, &str, &str_len, NULL);
- g_string_append (data->error_string, str);
- g_free (str);
- return TRUE;
-}
-