⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module.c

📁 lustre 1.6.5 source code
💻 C
字号:
/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: */#define DEBUG_SUBSYSTEM S_LNET#include "selftest.h"#define LST_INIT_NONE           0#define LST_INIT_RPC            1#define LST_INIT_FW             2#define LST_INIT_CONSOLE        3extern int lstcon_console_init(void);extern int lstcon_console_fini(void);static int lst_init_step = LST_INIT_NONE;voidlnet_selftest_fini (void){        switch (lst_init_step) {#ifdef __KERNEL__                case LST_INIT_CONSOLE:                        lstcon_console_fini();#endif                case LST_INIT_FW:                        sfw_shutdown();                case LST_INIT_RPC:                        srpc_shutdown();                case LST_INIT_NONE:                        break;                default:                        LBUG();        }        return;}intlnet_selftest_init (void){        int	rc;        rc = srpc_startup();        if (rc != 0) {                CERROR("LST can't startup rpc\n");                goto error;        }        lst_init_step = LST_INIT_RPC;        rc = sfw_startup();        if (rc != 0) {                CERROR("LST can't startup framework\n");                goto error;        }        lst_init_step = LST_INIT_FW;#ifdef __KERNEL__        rc = lstcon_console_init();        if (rc != 0) {                CERROR("LST can't startup console\n");                goto error;        }        lst_init_step = LST_INIT_CONSOLE;  #endif        return 0;error:        lnet_selftest_fini();        return rc;}#ifdef __KERNEL__MODULE_DESCRIPTION("LNet Selftest");MODULE_LICENSE("GPL");cfs_module(lnet, "0.9.0", lnet_selftest_init, lnet_selftest_fini);#elseintselftest_wait_events (void){        int evts = 0;        for (;;) {                /* Consume all pending events */                while (srpc_check_event(0))                        evts++;                evts += stt_check_events();                evts += swi_check_events();                if (evts != 0) break;                /* Nothing happened, block for events */                evts += srpc_check_event(stt_poll_interval());                /* We may have blocked, check for expired timers */                evts += stt_check_events();                if (evts == 0) /* timed out and still no event */                        break;        }        return evts;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -