Newbie questions about Pliant

Newbie questions about Pliant

bug on release92

Impossible to compile under windows
Message posted by michel on 2004/07/19 12:22:47
After a first impossibility I tried to reinstall, hiding all old files ,
specialy pliant_data pliant_secret and c:\windows\system32\pliant.exe and the .dump
Nothing to do. the console ouput is the following :

Precompiling Pliant, please wait ...
----------------------------------------------------------------
Failed to compile os_fcntl   ('s'  'os_F_SETFL'  'os_O_NONBLOCK')
  compile /pliant/language/stream/tcp.pli (internals) 338 5
compile /pliant/language/stream/tcp.pli (internals) 338 1
compile /pliant/language/stream/tcp.pli (internals) 338 1
compile /pliant/language/stream/tcp.pli (internals) 337 3
compile /pliant/language/stream/tcp.pli (internals) 337 3
compile /pliant/language/stream/tcp.pli (internals) 298 1
compile /pliant/language/stream/tcp.pli (internals) 298 1
compile /pliant/language/stream/tcp.pli (internals) 297 1
compile /pliant/language/stream/tcp.pli (internals) 297 1
compile /pliant/language/stream/tcp.pli (internals) 297 1
compile /pliant/language/stream/tcp.pli (internals) 297 1
parse /pliant/language/stream/tcp.pli (internals) 362 1
module /pliant/language/stream/tcp.pli
compile /pliant/language/stream/ring.pli (internals) 32 1
compile /pliant/language/stream/ring.pli (internals) 32 1
compile /pliant/language/stream/ring.pli (internals) 32 1
compile /pliant/language/stream/ring.pli (internals) 32 1
parse /pliant/language/stream/ring.pli (internals) 33 1
module /pliant/language/stream/ring.pli
compile /pliant/language/stream.pli (internals) 16 1
compile /pliant/language/stream.pli (internals) 16 1
compile /pliant/language/stream.pli (internals) 16 1
compile /pliant/language/stream.pli (internals) 16 1
parse /pliant/language/stream.pli (internals) 17 1
module /pliant/language/stream.pli
compile /pliant/language/context/computer.pli (internals) 22 1
compile /pliant/language/context/computer.pli (internals) 22 1
compile /pliant/language/context/computer.pli (internals) 22 1
compile /pliant/language/context/computer.pli (internals) 22 1
parse /pliant/language/context/computer.pli (internals) 23 1
module /pliant/language/context/computer.pli
compile /pliant/language/context.pli (internals) 19 1
compile /pliant/language/context.pli (internals) 19 1
compile /pliant/language/context.pli (internals) 19 1
compile /pliant/language/context.pli (internals) 19 1
parse /pliant/language/context.pli (internals) 20 1
module /pliant/language/context.pli
compile /pliant/language/generator.pli (internals) 18 1
compile /pliant/language/generator.pli (internals) 18 1
compile /pliant/language/generator.pli (internals) 18 1
compile /pliant/language/generator.pli (internals) 18 1
parse /pliant/language/generator.pli (internals) 19 1
module /pliant/language/generator.pli
compile /pliant/install/minimal.pli (internals) 28 1
compile /pliant/install/minimal.pli (internals) 28 1
compile /pliant/install/minimal.pli (internals) 28 1
compile /pliant/install/minimal.pli (internals) 28 1
parse /pliant/install/minimal.pli (internals) 29 1
module /pliant/install/minimal.pli
compile /pliant/install/precompile.pli (internals) 19 1
compile /pliant/install/precompile.pli (internals) 19 1
compile /pliant/install/precompile.pli (internals) 19 1
compile /pliant/install/precompile.pli (internals) 19 1
parse /pliant/install/precompile.pli (internals) 20 1
module /pliant/install/precompile.pli
----------------------------------------------------------------
actions stack is:
parse /pliant/install/precompile.pli (internals) 20 1
module /pliant/install/precompile.pli
----------------------------------------------------------------
processor stack content is:
error_notify_fatal (ErrorID Str) +14
error_report +61
error_renotify (ErrorID Address Str) +41
. compile (Expression) +125
  /pliant/install/precompile.pli (internals) 19 1
. execute (Expression) +21
  /pliant/install/precompile.pli (internals) 19 1
. execute (ParserContext) +50
parser_filter_execute +228
pliant internal parse_one_token function (ParserContext) +396
compile_text (List Module) +227
pliant_load_module (Str Module Int Module) +915
pliant internal startup function +248
??? at 4199306
??? at 1851877740
Message posted by michel on 2004/07/20 12:57:12
If I comment (#) the two lines 338 and 346 begining by "os_fcntl" Pliant seems to run very well.
As I've seen it seems normal because this function is only defined under linux or posix.

Is there some losses with windows when commenting these two lines ?
 
Message posted by hubert.tonneau on 2004/07/20 13:01:38
Absolutely no problem: this is a new feature enabling to establish a TCP
connection with a timeout specified right from the beginning.

As an example, it is used in /pliant/util/network/ping.pli
Under Unix, when a process is not root, 'ping' protocol is unavailable,
so if we want to test is a given computer is reachable on the network,
we try to connect to it's TCP port 80. The new feature enable to specify
a precise timeout, so to grant that the Pliant 'net_ping' function will
return in a precisely bounded amount of time.