From 0633f1aa2ea4f0d0d2cd9a9bbe3ff6fce90e5771 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michal=20Voc=C5=AF?= Date: Mon, 12 Sep 2005 14:16:52 +0000 Subject: [PATCH] * thread safe version of communication --- org.glite.lb.common/interface/il_msg.h | 4 +++- org.glite.lb.common/src/il_msg.c | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/org.glite.lb.common/interface/il_msg.h b/org.glite.lb.common/interface/il_msg.h index cb839f8..a2e33a4 100644 --- a/org.glite.lb.common/interface/il_msg.h +++ b/org.glite.lb.common/interface/il_msg.h @@ -33,6 +33,8 @@ int encode_il_msg(char **, const char *); int encode_il_reply(char **, int, int, const char *); int decode_il_msg(char **, const char *); int decode_il_reply(int *, int *, char **, const char *); -int read_il_data(char **, int (*)(char *, const int)); +int read_il_data(void *user_data, + char **buffer, + int (*reader)(void *user_data, char *buffer, const int)); #endif diff --git a/org.glite.lb.common/src/il_msg.c b/org.glite.lb.common/src/il_msg.c index 8c6e973..dc07813 100644 --- a/org.glite.lb.common/src/il_msg.c +++ b/org.glite.lb.common/src/il_msg.c @@ -105,14 +105,15 @@ decode_il_reply(int *maj, int *min, char **err, const char * buf) int -read_il_data(char **buffer, - int (*reader)(char *, const int)) +read_il_data(void *user_data, + char **buffer, + int (*reader)(void *, char *, const int)) { char buf[17]; int ret, len; /* read 17 byte header */ - len = (*reader)(buf, 17); + len = (*reader)(user_data, buf, 17); if(len < 0) { goto err; } @@ -130,7 +131,7 @@ read_il_data(char **buffer, } /* read body */ - ret = (*reader)(*buffer, len); + ret = (*reader)(user_data, *buffer, len); if(ret < 0) { free(*buffer); *buffer = NULL; -- 1.8.2.3