Esempio n. 1
0
// 五乞軒研 拝雁背層陥.
void*		OvMemoryPool::alloc_memory()
{
	// 紫遂亜管廃 五乞軒亜 蒸生檎 熱聖 潅鍵陥.
	if ( ! m_pFreeMemoryList)
	{
		add_pool();
	}

	OvMemHeader* k_alloc = NULL;

	// 企奄五乞軒研 眼雁馬澗 伯希研 災君紳陥.
	k_alloc		=	m_pFreeMemoryList;

	// 五乞軒伯希稽採斗 紫遂五乞軒研 蓄窒廃陥.
	void*	k_return_mem = MEMORY(k_alloc);

	// 陥製 企奄五乞軒研 実特廃陥.
	m_pFreeMemoryList = m_pFreeMemoryList->mNext;

	// 戚採歳戚 掻推馬陥.
	// 増彊蟹澗 五乞軒拭惟 "獲 酔軒増 室晦陥"虞澗 爽社研
	// 鯉杏戚拭 杏嬢爽壱 彊蟹左浬陥.
	// 益係惟鞠檎 五乞軒亜 背薦推短戚 尽聖凶, 採紫瑛発 拝呪 赤陥.
	// 焼... 遭促 戚言拭 覗稽益掘講 因採馬走 せせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせせ
	// 数奄含猿 宣赤含猿.
	k_alloc->mMemPool	=	this;
	return k_return_mem;

}
Esempio n. 2
0
File: smalloc.c Progetto: Rapaka/fio
void sinit(void)
{
	int ret;

	lock = fio_rwlock_init();
	ret = add_pool(&mp[0], INITIAL_SIZE);
	assert(!ret);
}
Esempio n. 3
0
File: smalloc.c Progetto: Andiry/fio
void sinit(void)
{
	int i, ret;

	for (i = 0; i < MAX_POOLS; i++) {
		ret = add_pool(&mp[i], smalloc_pool_size);
		if (ret)
			break;
	}

	/*
	 * If we added at least one pool, we should be OK for most
	 * cases.
	 */
	assert(i);
}
Esempio n. 4
0
void sinit(void)
{
	bool ret;
	int i;

	for (i = 0; i < INITIAL_POOLS; i++) {
		ret = add_pool(&mp[nr_pools], smalloc_pool_size);
		if (!ret)
			break;
	}

	/*
	 * If we added at least one pool, we should be OK for most
	 * cases.
	 */
	assert(i);
}
Esempio n. 5
0
static void
on_file_connect_action (GtkAction *action,
                        gpointer   user_data)
{
        MduShell *shell = MDU_SHELL (user_data);
        GtkWidget *dialog;
        gint response;

        dialog = mdu_connect_to_server_dialog_new (GTK_WINDOW (shell->priv->app_window));
        gtk_widget_show_all (dialog);
        response = gtk_dialog_run (GTK_DIALOG (dialog));

        if (response == GTK_RESPONSE_OK) {
                const gchar *user_name;
                const gchar *address;
                GError *error;

                user_name = mdu_connect_to_server_dialog_get_user_name (MDU_CONNECT_TO_SERVER_DIALOG (dialog));
                address = mdu_connect_to_server_dialog_get_address (MDU_CONNECT_TO_SERVER_DIALOG (dialog));

                gtk_widget_destroy (dialog);

                error = NULL;
                if (!add_pool (shell, user_name, address, &error)) {
                        GtkWidget *dialog;
                        gchar *s;

                        s = g_strdup_printf (_("Error connecting to “%s”"), address);

                        dialog = mdu_error_dialog_new (GTK_WINDOW (mdu_shell_get_toplevel (shell)),
                                                       NULL,
                                                       s,
                                                       error);
                        g_free (s);
                        gtk_widget_show_all (dialog);
                        gtk_window_present (GTK_WINDOW (dialog));
                        gtk_dialog_run (GTK_DIALOG (dialog));
                        gtk_widget_destroy (dialog);

                        g_error_free (error);
                }
        } else {
                gtk_widget_destroy (dialog);
        }
}
Esempio n. 6
0
void sinit(void)
{
	int i, ret;

	lock = fio_rwlock_init();

	for (i = 0; i < MAX_POOLS; i++) {
		ret = add_pool(&mp[i], INITIAL_SIZE);
		if (ret)
			break;
	}

	/*
	 * If we added at least one pool, we should be OK for most
	 * cases.
	 */
	assert(i);
}
Esempio n. 7
0
void*		OvMemoryPool::alloc_memory_debug(char* _pBlock,int _iLine)
{
	if ( ! m_pFreeMemoryList)
	{
		add_pool();
	}

	OvMemHeader* k_alloc = NULL;

	k_alloc		=	m_pFreeMemoryList;

	void*	k_return_mem = MEMORY(k_alloc);
	
	m_pFreeMemoryList = m_pFreeMemoryList->mNext;

	k_alloc->mMemPool	=	this;
	k_alloc->m_pBlock	=	_pBlock;
	k_alloc->m_iLine	=	_iLine;

	return k_return_mem;
}
Esempio n. 8
0
/*
 * Create a list of pools based on the given arguments.  If we're given no
 * arguments, then iterate over all pools in the system and add them to the AVL
 * tree.  Otherwise, add only those pool explicitly specified on the command
 * line.
 */
zpool_list_t *
pool_list_get(int argc, char **argv, zprop_list_t **proplist, int *err)
{
	zpool_list_t *zlp;

	zlp = safe_malloc(sizeof (zpool_list_t));

	zlp->zl_pool = uu_avl_pool_create("zfs_pool", sizeof (zpool_node_t),
	    offsetof(zpool_node_t, zn_avlnode), zpool_compare, UU_DEFAULT);

	if (zlp->zl_pool == NULL)
		zpool_no_memory();

	if ((zlp->zl_avl = uu_avl_create(zlp->zl_pool, NULL,
	    UU_DEFAULT)) == NULL)
		zpool_no_memory();

	zlp->zl_proplist = proplist;

	if (argc == 0) {
		(void) zpool_iter(g_zfs, add_pool, zlp);
		zlp->zl_findall = B_TRUE;
	} else {
		int i;

		for (i = 0; i < argc; i++) {
			zpool_handle_t *zhp;

			if ((zhp = zpool_open_canfail(g_zfs, argv[i])) !=
			    NULL) {
				if (add_pool(zhp, zlp) != 0)
					*err = B_TRUE;
			} else {
				*err = B_TRUE;
			}
		}
	}

	return (zlp);
}
Esempio n. 9
0
File: smalloc.c Progetto: Rapaka/fio
void *smalloc(size_t size)
{
	unsigned int i;

	if (size != (unsigned int) size)
		return NULL;

	global_write_lock();
	i = last_pool;

	do {
		for (; i < nr_pools; i++) {
			void *ptr = smalloc_pool(&mp[i], size);

			if (ptr) {
				last_pool = i;
				global_write_unlock();
				return ptr;
			}
		}
		if (last_pool) {
			last_pool = 0;
			continue;
		}

		if (nr_pools + 1 > MAX_POOLS)
			break;
		else {
			i = nr_pools;
			if (add_pool(&mp[nr_pools], size))
				goto out;
		}
	} while (1);

out:
	global_write_unlock();
	return NULL;
}
Esempio n. 10
0
void IOWorker::on_event(const IOWorkerEvent& event) {
  switch (event.type) {
    case IOWorkerEvent::ADD_POOL: {
      add_pool(event.address, event.is_initial_connection);
      break;
    }

    case IOWorkerEvent::REMOVE_POOL: {
      PoolMap::iterator it = pools_.find(event.address);
      if (it != pools_.end()) {
        LOG_DEBUG("REMOVE_POOL event for %s closing pool(%p) io_worker(%p)",
                  event.address.to_string().c_str(),
                  static_cast<void*>(it->second.get()),
                  static_cast<void*>(this));
        it->second->close(event.cancel_reconnect);
      }
      break;
    }

    default:
      assert(false);
      break;
  }
}
Esempio n. 11
0
static void
create_window (MduShell *shell)
{
        GtkWidget *vbox;
        GtkWidget *vbox1;
        GtkWidget *vbox2;
        GtkWidget *menubar;
        GtkAccelGroup *accel_group;
        GtkWidget *hpane;
        GtkWidget *tree_view_scrolled_window;
        GtkTreeSelection *select;
        GtkWidget *label;
        GtkTreeViewColumn *column;
        GError *error;

        error = NULL;
        if (!add_pool (shell, NULL, NULL, &error)) {
                g_printerr ("Error creating pool: `%s'\n", error->message);
                g_error_free (error);
                g_critical ("Bailing out");
        }

        shell->priv->app_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_window_set_resizable (GTK_WINDOW (shell->priv->app_window), TRUE);
        gtk_window_set_default_size (GTK_WINDOW (shell->priv->app_window), 800, 600);
        gtk_window_set_title (GTK_WINDOW (shell->priv->app_window), _("Disk Utility"));

        vbox = gtk_vbox_new (FALSE, 0);
        gtk_container_add (GTK_CONTAINER (shell->priv->app_window), vbox);

        shell->priv->ui_manager = create_ui_manager (shell);
        accel_group = gtk_ui_manager_get_accel_group (shell->priv->ui_manager);
        gtk_window_add_accel_group (GTK_WINDOW (shell->priv->app_window), accel_group);

        menubar = gtk_ui_manager_get_widget (shell->priv->ui_manager, "/menubar");
        gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0);

        /* tree view */
        tree_view_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (tree_view_scrolled_window),
                                        GTK_POLICY_NEVER,
                                        GTK_POLICY_AUTOMATIC);
        gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (tree_view_scrolled_window),
                                             GTK_SHADOW_IN);
        shell->priv->model = mdu_pool_tree_model_new (shell->priv->pools,
                                                      NULL,
                                                      MDU_POOL_TREE_MODEL_FLAGS_NO_VOLUMES);
        shell->priv->tree_view = mdu_pool_tree_view_new (shell->priv->model,
                                                         MDU_POOL_TREE_VIEW_FLAGS_NONE);
        g_object_unref (shell->priv->model);
        gtk_container_add (GTK_CONTAINER (tree_view_scrolled_window), shell->priv->tree_view);


        /* --- */

        vbox1 = gtk_vbox_new (FALSE, 0);

        /* --- */

        vbox2 = gtk_vbox_new (FALSE, 0);
        //gtk_container_set_border_width (GTK_CONTAINER (vbox2), 12);
        gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0);

        /* --- */

        shell->priv->sections_vbox = gtk_vbox_new (FALSE, 12);
        gtk_container_set_border_width (GTK_CONTAINER (shell->priv->sections_vbox), 6);
        gtk_box_pack_start (GTK_BOX (vbox2), shell->priv->sections_vbox, TRUE, TRUE, 0);

        /* setup and add horizontal pane */
        hpane = gtk_hpaned_new ();

        label = gtk_label_new (NULL);
        gtk_label_set_markup_with_mnemonic (GTK_LABEL (label),
                                            _("_Storage Devices"));
        gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
        gtk_label_set_mnemonic_widget (GTK_LABEL (label), shell->priv->tree_view);

        column = gtk_tree_view_get_column (GTK_TREE_VIEW (shell->priv->tree_view), 0);
        gtk_tree_view_column_set_widget (column, label);
        gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (shell->priv->tree_view), TRUE);
        gtk_widget_show (label);

        gtk_paned_add1 (GTK_PANED (hpane), tree_view_scrolled_window);
        gtk_paned_add2 (GTK_PANED (hpane), vbox1);
        gtk_widget_set_size_request (shell->priv->tree_view, 260, -1),
        //gtk_paned_set_position (GTK_PANED (hpane), 260);

        gtk_box_pack_start (GTK_BOX (vbox), hpane, TRUE, TRUE, 0);

        select = gtk_tree_view_get_selection (GTK_TREE_VIEW (shell->priv->tree_view));
        gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE);
        g_signal_connect (select, "changed", (GCallback) device_tree_changed, shell);

        /* when starting up, set focus on tree view */
        gtk_widget_grab_focus (shell->priv->tree_view);

        g_signal_connect (shell->priv->app_window, "delete-event", gtk_main_quit, NULL);

        gtk_widget_show_all (vbox);

        mdu_pool_tree_view_select_first_presentable (MDU_POOL_TREE_VIEW (shell->priv->tree_view));
}