Version française
Home     About     Download     Resources     Contact us    
Browse thread
ocaml et Unix
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <Xavier.Leroy@i...>
Subject: Re: ocaml et Unix
Bonjour,

> un certain nombre d'appels systemes Unix ne sont pas
> fournis via le module Unix sous ocaml1.07. Est-ce un choix
> delibere ou seulement un manque de temps ?

De manière générale, nous enrichissons l'interface Unix suivant les
besoins qui se manifestent.

> Je pense par exemple a :
> 
> 	fnctl

fnctl est un fourre-tout qui recouvre plusieurs fonctionnalités
différentes.  En raison du typage strict de Caml, il faudrait remonter
plusieurs fonctions, une par fonctionnalité.  Pour F_DUPFD, nous avons
déja Unix.dup.   F_GETLK, F_SETLK, F_SETLKW sont accessibles via
Unix.lockf.  Il manque en effet F_GETFD, F_SETFD, F_GETFL, F_SETFL.

>       ioctl,

Comme fcntl, mais pire: le type du 3ième argument dépend de la valeur
du premier!  C'est donc impossible à typer en Caml.  (En C aussi d'ailleurs.)
D'autre part, ioctl est inutilisable quand on ne peut accéder aux
constantes définies dans les includes du système, ce qui est le cas en
Caml.  Mieux vaut écrire en C une fonction qui fait l'appel ioctl dont
vous avez besoin, et remonter cette fonction C en Caml.

> 	pour signal(), le signal SIGIO (qui est bien POSIX).

D'après mes specs, SIGIO n'est pas dans POSIX.1-1990, ni même dans
Unix 98.

Cordialement,

- Xavier Leroy