📄 rtems_rpc.c
字号:
/* * RTEMS multi-tasking support */#include <rpc/rpc.h>#include <rtems.h>#include <stdlib.h>/* * RPC variables for single-thread */static struct rtems_rpc_task_variables rpc_default = { -1, /* svc_maxfd */};/* * RPC values for initializing a new per-task set of variables */static const struct rtems_rpc_task_variables rpc_init = { -1, /* svc_maxfd */};/* * Per-task pointer to RPC data */void *rtems_rpc_task_variables = &rpc_default;/* * Set up per-task RPC variables */int rtems_rpc_task_init (void){ rtems_status_code sc; struct rtems_rpc_task_variables *tvp; if (rtems_rpc_task_variables == &rpc_default) { tvp = malloc (sizeof *tvp); if (tvp == NULL) return RTEMS_NO_MEMORY; /* * FIXME: Should have destructor which cleans up * all RPC stuff: * - Close all files * - Go through and free linked list elements * - Free other allocated memory (e.g. clnt_perror_buf) */ sc = rtems_task_variable_add (RTEMS_SELF, &rtems_rpc_task_variables, NULL); if (sc != RTEMS_SUCCESSFUL) { free (tvp); return sc; } *tvp = rpc_init; rtems_rpc_task_variables = tvp; } return RTEMS_SUCCESSFUL;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -