3 /* process - GRAS process handling (common code for RL and SG) */
5 /* Authors: Martin Quinson */
6 /* Copyright (C) 2003,2004 da GRAS posse. */
8 /* This program is free software; you can redistribute it and/or modify it
9 under the terms of the license (GNU LGPL) which comes with this package. */
11 #include "gras_private.h"
12 #include "gras/Virtu/virtu_interface.h"
13 #include "gras/Msg/msg_interface.h" /* FIXME: Get rid of this cyclic */
15 /* **************************************************************************
17 * **************************************************************************/
18 void *gras_userdata_get(void) {
19 gras_procdata_t *pd=gras_procdata_get();
23 void gras_userdata_set(void *ud) {
24 gras_procdata_t *pd=gras_procdata_get();
30 gras_procdata_init() {
32 gras_procdata_t *pd=gras_procdata_get();
34 TRY(gras_dynar_new(&(pd->msg_queue), sizeof(gras_msg_t), NULL));
35 TRY(gras_dynar_new(&(pd->cbl_list), sizeof(gras_cblist_t *),gras_cbl_free));
36 TRY(gras_dynar_new(&(pd->sockets), sizeof(gras_socket_t*), NULL));
41 gras_procdata_exit() {
42 gras_procdata_t *pd=gras_procdata_get();
44 gras_dynar_free(pd->msg_queue);
45 gras_dynar_free(pd->cbl_list);
46 gras_dynar_free(pd->sockets);
50 gras_socketset_get(void) {
51 return gras_procdata_get()->sockets;