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 "Virtu/virtu_interface.h"
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();
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;