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 GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(process,gras,"Process manipulation code");
17 /* **************************************************************************
19 * **************************************************************************/
20 void *gras_userdata_get(void) {
21 gras_procdata_t *pd=gras_procdata_get();
25 void gras_userdata_set(void *ud) {
26 gras_procdata_t *pd=gras_procdata_get();
32 gras_procdata_init() {
34 gras_procdata_t *pd=gras_procdata_get();
36 TRY(gras_dynar_new(&(pd->msg_queue), sizeof(gras_msg_t), NULL));
37 TRY(gras_dynar_new(&(pd->cbl_list), sizeof(gras_cblist_t *),gras_cbl_free));
38 TRY(gras_dynar_new(&(pd->sockets), sizeof(gras_socket_t*), NULL));
43 gras_procdata_exit() {
44 gras_procdata_t *pd=gras_procdata_get();
46 gras_dynar_free(pd->msg_queue);
47 gras_dynar_free(pd->cbl_list);
48 gras_dynar_free(pd->sockets);
52 gras_socketset_get(void) {
53 return gras_procdata_get()->sockets;