summaryrefslogtreecommitdiffstats
path: root/otherlibs/unix/bind.c
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2000-03-07 09:07:39 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2000-03-07 09:07:39 +0000
commit803d9504aa89fe5756086448f1c09794b1c5d254 (patch)
tree653b1fe89d711d87db96ccb8bd36fa3882bf4ea9 /otherlibs/unix/bind.c
parentbefd41dab7af3ed81bb9c866fe963f5fdb6d4d4b (diff)
Remplacement des variables globales sock_addr et sock_addr_len par des variables locales (plus propre, et thread-safe)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/unix/bind.c')
-rw-r--r--otherlibs/unix/bind.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/otherlibs/unix/bind.c b/otherlibs/unix/bind.c
index 73716411a..aa111d3b7 100644
--- a/otherlibs/unix/bind.c
+++ b/otherlibs/unix/bind.c
@@ -22,8 +22,11 @@
value unix_bind(value socket, value address) /* ML */
{
int ret;
- get_sockaddr(address);
- ret = bind(Int_val(socket), &sock_addr.s_gen, sock_addr_len);
+ union sock_addr_union addr;
+ socklen_param_type addr_len;
+
+ get_sockaddr(address, &addr, &addr_len);
+ ret = bind(Int_val(socket), &addr.s_gen, addr_len);
if (ret == -1) uerror("bind", Nothing);
return Val_unit;
}