Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move the dynar of all known sockets from RL-only to procdata (SG-wanna-accept change)
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 5 Jul 2004 23:21:09 +0000 (23:21 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 5 Jul 2004 23:21:09 +0000 (23:21 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@169 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Virtu/process.c
src/gras/Virtu/virtu_interface.h

index e46303e..50676f8 100644 (file)
@@ -35,6 +35,7 @@ gras_procdata_init() {
   pd->userdata = NULL;
   TRY(gras_dynar_new(  &(pd->msg_queue), sizeof(gras_msg_t),      NULL  ));
   TRY(gras_dynar_new(  &(pd->cbl_list),  sizeof(gras_cblist_t *), NULL  ));
+  TRY(gras_dynar_new(  &(pd->sockets),   sizeof(gras_socket_t*),  NULL));
   return no_error;
 }
 
@@ -44,5 +45,10 @@ gras_procdata_exit() {
 
   gras_dynar_free(pd->msg_queue);
   gras_dynar_free(pd->cbl_list);
+  gras_dynar_free(pd->sockets);
 }
 
+gras_dynar_t *
+gras_socketset_get(void) {
+   return gras_procdata_get()->sockets;
+}
index 4cd7153..74ed9f7 100644 (file)
@@ -25,19 +25,18 @@ typedef struct {
   /* registered callbacks for each message */
   gras_dynar_t *cbl_list; /* elm type: gras_cblist_t */
    
-
-  /* The channel we are listening to in SG for formated messages */
-  int chan;
-  gras_socket_t *sock; /* the corresponding socket (SG only) */
-   
-  /* The channel we are listening to in SG for raw send/recv */
-  int rawChan; 
-  gras_socket_t *rawSock;/* the corresponding socket (SG only) */
+  /* SG only elements. In RL, they are part of the OS ;) */
+  int chan;    /* Formated messages channel */
+  int rawChan; /* Unformated echange channel */
+  gras_dynar_t *sockets; /* all sockets known to this process */
 
   /* globals of the process */
   void *userdata;               
 } gras_procdata_t;
 
+/* Access */
+gras_dynar_t * gras_socketset_get(void);
+
 /* FIXME: mv to _private? */
 gras_procdata_t *gras_procdata_get(void);
 gras_error_t gras_procdata_init(void);