Commit Graph

105 Commits (4f6e4144ffb339eb785d475fa342c47aa8682daf)

Author SHA1 Message Date
Louis Gesbert 24e42d4d22 Add v=0x400 to OCAMLRUNPARAM to print more Gc stats on exit
In a format following that of Gc.print_stat. I chose to print only the "quick_stat"
values rather than call gc_ctrl.c::heap_stats because it's lighter, and the extra
information is typically not very useful at program exit.

Also adds documentation for the 0x400 flag (in man and Gc module)

This replaces the previous undocumented 0x400 that only displayed the
total (minwords + majwords - prowords) and with a different format,
since keeping both wouldn't provide more information.
2015-12-04 21:09:27 +09:00
Xavier Leroy dc2a98c3a5 PR#6945 and GPR#227: protect Sys and Unix functions against string arguments containing the null character '\000'
Continuation of commit dc043a7:
- Protect Sys.command
2015-11-13 14:57:12 +01:00
Xavier Leroy dc043a7b62 PR#6945 and GPR#227: protect Sys and Unix functions against string arguments containing the null character '\000'
Implementation notes:
- Based on c-cube's GPR#227 code, but many Unix functions were missing.
- For Unix.bind and Unix.connect to a PF_UNIX address, tolerate
  file names whose first character is '\000': in Linux, these have
  a meaning as "abstract socket addresses", and in other operating
  systems, the resulting empty path name causes a EINVAL error
  (tested under MacOS X).
- Very lightly tested.
- win32unix remains to be fixed.
2015-11-11 17:07:44 +01:00
François Bobot 3c76d0678d Make `Sys.time` unboxed and noalloc 2015-11-05 13:07:03 +01:00
Damien Doligez b860d63145 whitespace cleanup, cut long lines, add some missing headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-11 11:58:31 +00:00
Gabriel Scherer a69e3e3099 add primitive caml_sys_isatty; fix bootstrap
(Simon Cruanes)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16346 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-15 15:57:47 +00:00
Damien Doligez 860c670848 merge branch 4.02 from 4.02.1 (rev 15540) to a few fixes after 4.02.2 (rev 16205)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-17 14:31:05 +00:00
Gabriel Scherer 7ca29ef3f7 PR#5887: move the byterun/*.h headers to byterun/caml/*.h to avoid header name clashes
(Jérôme Vouillon and Adrien Nader and Peter Zotov)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27 14:41:49 +00:00
Damien Doligez 1cb0b23a08 Start tidying up the runtime:
- document most of the "size" and "length" parameters and global variables,
  specifying bytes or words. Change some of them from bytes to words.
- start getting rid of "char *" and use sensible types instead.
- other small changes


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15647 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-12 15:18:04 +00:00
Gabriel Scherer 638a953bcf Sys: Use constant for some runtime limitations.
It allows to have non-standard limits for non-standard runtime.
ie: js_of_ocaml use 32bits integer, and can handle
string much bigger than 16Mo.

From: Hugo Heuzard <hugo.heuzard@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15588 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17 12:19:27 +00:00
Alain Frisch 33542b3440 Add 0x400 flag to OCAMLRUNPARAM=v. It displays the total number of words allocated by the program just before it exits.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15499 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-09 11:50:23 +00:00
Alain Frisch 1ef064f29c #6273: fix.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14654 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-22 10:14:07 +00:00
Alain Frisch 456ad30a54 #6273: fix Sys.file_exists on large files for Win32 (patch by C. Bauer).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-22 09:47:42 +00:00
Xavier Leroy 774e30e138 PR#6075: avoid using unsafe C library functions (strcpy, strcat, sprintf).
An ISO C99-compliant C compiler and standard library is now assumed.
(Plus special exceptions for MSVC.)  In particular, emulation code for
64-bit integer arithmetic was removed, the C compiler must support a
64-bit integer type.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-15 17:09:13 +00:00
Jérémie Dimino 9fd3c41247 fix #6276: release the runtime in all stubs that might block
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-23 16:24:50 +00:00
Fabrice Le Fessant 89bdc10350 PR#5774: Add bswap primitives for amd64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13106 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-29 09:55:00 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Xavier Leroy 44b6164bb0 Improve self-initialization of the Random module, using /dev/urandom
when available.  The changes in byterun/win32.c are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 16:12:09 +00:00
Damien Doligez 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Xavier Leroy 735c4f6b67 Follow-up: complete removal of pre-ANSI-C cruft.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11181 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-07 12:06:18 +00:00
Xavier Leroy d2126be2b3 Testing byterun with CompCert and finding minor issues:
- int64_format.h: off-by-one error in skipping width modifier
- sys.c: pre-ANSI-C cruft removed (<errno.h> MUST define errno)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11180 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-07 12:04:58 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Xavier Leroy 578cc03cf9 Improved self initialization of PRNGs under Win32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7944 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-03-01 13:37:39 +00:00
Xavier Leroy 1398fbbe1f Ajout de Sys.is_directory (PR#4054 + needed by ocamlbuild)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7927 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-26 14:21:57 +00:00
Xavier Leroy 160e4050d8 Raise Sys_blocked_io only in I/O operations that return EAGAIN/EWOULDBLOCK. Other, non-I/O related system calls can also return EAGAIN (e.g. in Sys.command); these should raise Sys_error, not Sys_blocked_io
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-25 12:38:36 +00:00
Damien Doligez fbea66a95e fusion des changements 3.09.2 -> 3.09.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-20 11:14:37 +00:00
Damien Doligez 125ea40d4c fusion 3.09.0 -> 3.09.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Xavier Leroy 784d36778a sys_open: convert_flag_list avant enter_blocking_section (PR#3811)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-13 14:47:05 +00:00
Xavier Leroy 3de54dec26 Remplacement long/unsigned long par intnat/uintnat
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7064 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-22 14:21:50 +00:00
Xavier Leroy 8f8ace0a2c strerror est standard ANSI C
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-18 08:50:22 +00:00
Damien Doligez db3745919b suppression des warnings "unused variable" de gcc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-17 17:10:00 +00:00
Damien Doligez 2560e53f70 PR#2352, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-15 16:18:16 +00:00
Damien Doligez 01cbd4fca5 PR#2352
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6200 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-13 17:11:55 +00:00
Damien Doligez 794c184571 suppression du support Mac OS 9
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-08 22:28:48 +00:00
Damien Doligez 0c7aecb88d depollution suite (et fin?) (PR#1914 et PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-02 19:23:29 +00:00
Damien Doligez 5a678d29f5 depollution suite (PR#1914 et PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-01 16:42:43 +00:00
Damien Doligez 331b2d89c3 depollution suite (PR#1914, PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-31 14:20:40 +00:00
Damien Doligez 31943bac1d depollution suite (PR#1914 et PR#1956); byterun/weak.c: PR#1929 suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6041 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-29 22:15:02 +00:00
Damien Doligez aa46693dc5 depollution (PR#1914, PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-16 18:09:44 +00:00
Damien Doligez a90b6e9d12 decontamination (PR#1914, PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6022 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-15 18:37:24 +00:00
Damien Doligez 8fde08275d deuxieme tranche des travaux de depollution (PR#1914 et PR#1956) + dependances
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6020 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-15 16:29:53 +00:00
Damien Doligez 5fcac6a58c debut du travail de depollution de l'espace de noms (PR#1914)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-08 19:50:26 +00:00
Xavier Leroy bba3cef902 La gestion des @responsefile est maintenant faite en Caml. Penser a liberer le buffer utilise par system().
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-24 15:24:51 +00:00
Xavier Leroy 859efb84a8 Ajout de Sys.readdir
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-03 17:16:15 +00:00
Xavier Leroy 127f048374 Mettre une blocking section autour de open() pour traiter les FIFO nommees (PR#1533)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-02-11 14:30:44 +00:00
Damien Doligez 82cfc766ca bug de signaux dans system_command
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5335 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-12-12 10:46:15 +00:00
Xavier Leroy 491d1da4a1 Retour en arriere sur getenv qui va voir dans la registry: mieux vaut bien positionner les variables d'environnement depuis l'installeur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4938 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-18 16:18:21 +00:00
Xavier Leroy 94acce074f random_seed est un peu plus random
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-04-15 11:41:55 +00:00
Xavier Leroy cefcfba94a Mettre -D_FILE_OFFSET_BITS=64 dans les options de compilation partagees par tout le monde
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-03-15 14:38:37 +00:00